مهدی 3 گزارش دادن ارسال شده در اردیبهشت 99 با سلام.در طراحی بخش کاربری بخش نظرات هنگام ذخیره نظر ارور 404 not found میده.نمیدونم مشکل از کجاست فایلها رو در زیر میزارم: در ابتدا فایل show.blade.php: <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <link href="{{url('/front/css/main.css')}}" rel="stylesheet"> <title>Article show</title> </head> <body dir="rtl"> <div class="d-flex justify-content-center"> <div class="row"> <ul> <li><img src="<?php echo '/storage/photos/1/thumbs/'.basename($article->stimg)?> "></li> <li>name of Article:<a href="{{route('front.Articles.Show',$article->id)}}"><strong>{{$article->name}}</strong></a></li> <li>Date of passage{{$article->created_at}}</li> <li>writer:{{$article->user->name}}</li> <li>This news shown:{{$article->hits}}</li> <li><?php echo strip_tags($article->description);?></li> </ul> </div> </div> <hr> @auth <form action='{{route('comment.store', $article->id)}}' method='post'> @csrf <div class="form-group form-row"> <div class="form-group col-md-6"> <label for='name'>نام</label> <input type="name" value='{{auth::user()->name}}' class='form-control' readonly> </div> <div class="form-group col-md-6"> <label for='email'>ایمیل</label> <input type="email" value='{{auth::user()->email}}' class='form-control' name="email" readonly> </div> <div class="form-group"> <label for='body'>متن نظر</label> <textarea name="body" class='form-control col-md-12' cols="200" rows='5'></textarea> </div> <input type="submit" class="btn btn-success form-control" value="ثبت نظر"> </form> <hr> @else <form action='{{route('comment.store', $article->id)}}' method='post'> @csrf <div class="form-group form-row"> <div class="form-group col-md-6"> <label for='name'>نام</label> <input type="name" class='form-control'> </div> <div class="form-group col-md-6"> <label for='email'>ایمیل</label> <input type="email" class='form-control' name="email"> </div> <div class="form-group"> <label for='body'>متن نظر</label> <textarea name="body" class='form-control col-md-12' cols="200" rows='10'></textarea> </div> <input type="submit" class="btn btn-success form-control" value="ثبت نظر"> </form> <hr> @endauth @foreach ($comments as $comment) <div class="row"> <ul class="col-md-12"> <li>name:{{$comment->name}}</li> <li>email:{{$comment->email}}</li> <li>body:{{$comment->body}}<hr></li> </ul> </div> @endforeach </div> </body> </html> و در ادامه فایل web.php: <?php use Illuminate\Support\Facades\Route; /* |-------------------------------------------------------------------------- | Web Routes |-------------------------------------------------------------------------- | | Here is where you can register web routes for your application. These | routes are loaded by the RouteServiceProvider within a group which | contains the "web" middleware group. Now create something great! | */ ////////////////this is for auth Auth::routes(); ////////////////////////////////////// Route::get('/f', 'tstcont@front')->name('front'); Route::get('/b', 'tstcont@admin')->name('admin')->middleware('ChekRole'); Route::get('/', 'tstcont@welcome')->name('home'); Route::get('/db', 'tstcont@db')->name('db'); Route::get('/schol', 'tstcont@schol')->name('schol'); ///////////////////////////////////////////////////////////////category routes Route::get('/index', 'CategoryController@index')->name('index'); Route::get('/create', 'CategoryController@create')->name('create');//middleware('auth'); Route::get('/destroy/{category}', 'CategoryController@destroy')->name('destroy'); Route::get('/show/{category}', 'CategoryController@show')->name('show'); Route::get('/edit/{category}', 'CategoryController@edit')->name('edit'); Route::get('/profile/{category}', 'tstcont@profile')->name('front.profile'); ////////////////////////////////////////////////////////////////////// Route::put('/update/{category}', 'CategoryController@update')->name('update'); Route::post('/store', 'CategoryController@store')->name('store'); //////////////////////////////////////////////////////////////////////management routes route::prefix('admin')->middleware('ChekRole')->group(function(){ route::get('/edit/{user}','back\AdminController@edit')->name('admin.edit'); route::get('/status/{user}','back\AdminController@updatestatus')->name('admin.status'); route::post('/update/{user}','back\AdminController@update')->name('admin.update'); route::get('/destroy/{user}','back\AdminController@destroy')->name('admin.destroy'); }); route::prefix('admin/categories')->middleware('ChekRole')->group(function(){ route::get('/index','back\CatController@index')->name('admin.categories'); route::get('/create','back\CatController@create')->name('admin.categories.create'); route::get('/edit/{cat}','back\CatController@edit')->name('admin.categories.edit'); route::get('/destroy/{cat}','back\CatController@destroy')->name('admin.categories.destroy'); route::post('/store','back\CatController@store')->name('admin.categories.store'); route::put('/update/{cat}','back\CatController@update')->name('admin.categories.update'); }); route::prefix('admin/Articles')->middleware('ChekRole')->group(function(){ route::get('/index','back\ArticleController@index')->name('admin.Articles'); route::get('/status/{article}','back\ArticleController@updatestatus')->name('admin.Articles.status'); route::get('/create','back\ArticleController@create')->name('admin.Articles.create'); route::get('/edit/{article}','back\ArticleController@edit')->name('admin.Articles.edit'); route::get('/destroy/{article}','back\ArticleController@destroy')->name('admin.Articles.destroy'); route::post('/store','back\ArticleController@store')->name('admin.Articles.store'); route::post('/update/{article}','back\ArticleController@update')->name('admin.Articles.update'); }); Route::group(['prefix' => 'laravel-filemanager', 'middleware' => ['web', 'auth']], function () { \UniSharp\LaravelFilemanager\Lfm::routes(); }); //////////////////////////////////////////////////for front Articles route::prefix('front/Articles')->group(function(){ route::get('/index','front\ArticleController@index')->name('front.Articles'); Route::get('/show/{article}', 'front\ArticleController@show')->name('front.Articles.Show'); }); route::prefix('admin/Article/Comments')->middleware('ChekRole')->group(function(){ route::get('/index','back\CommentController@index')->name('admin.Comments'); route::get('/status/{comment}','back\CommentController@updatestatus')->name('admin.Comments.status'); route::get('/edit/{comment}','back\CommentController@edit')->name('admin.Comments.edit'); route::get('/destroy/{comment}','back\CommentController@destroy')->name('admin.Comments.destroy'); route::post('/update/{comment}','back\CommentController@update')->name('admin.Comments.update'); }); route::post('/Comments/{article}','front\CommentController@store')->name('comment.store'); و فایل Article.phpکه در پوشه app\frontmodelقرار دارد: <?php namespace App\frontmodel; use Cviebrock\EloquentSluggable\Sluggable; use Illuminate\Database\Eloquent\Model; class Article extends Model { use Sluggable; protected $fillable=['name','slug','description','user_id','status','stimg']; public function cats(){ return $this->belongsToMany(Cat::class); } public function user(){ return $this->belongsTo(User::class); } public function getRouteKeyName() { return 'slug'; } public function sluggable() { return [ 'slug' => [ 'source' => 'name' ] ]; } public function comments(){ return $this->hasMany(Comment::class); } } و فایل Comment.phpکه در پوشه app\frontmodelقرار دارد: <?php namespace App\frontmodel; use Illuminate\Database\Eloquent\Model; class Comment extends Model { protected $fillable=['name','email','body']; } و در آخر هم CommentControllerکه در پوشه App\Http\Controllers\front قرار دارد: <?php namespace App\Http\Controllers\front; use App\frontmodel\Comment; use App\frontmodel\Article; //use App\Article; use App\Http\Controllers\Controller; use Illuminate\Http\Request; class CommentController extends Controller { public function store(Request $request,Article $article) { $ValidatedData=$request->validate([ 'name' => 'required', 'email' => 'required', 'body' => 'required' ]); $article->comments()->create([ 'name'=> $request->name, 'email'=> $request->email, 'body'=> $request->body, ]); return redirect('front.Articles.Show'); } } نقل قول Share this post Link to post Share on other sites
مهدی 3 گزارش دادن ارسال شده در اردیبهشت 99 این مشکل درست شد منتها یک مسیله ای هست که من اصلا درکش نمی کنم من تو کنترلر خودم مودل article پوشه appیوز کردم و هیچ استفاده ای از مودل article پوشهfront modelنکردم منتها وقتی مودل articleپوشه frontmodel تغییر میدم دوباره به ارور میخورم کدامو میزارم اگه کسی میتونه توضیح بده نقل قول Share this post Link to post Share on other sites