رفتن به مطلب
انجمن پشتیبانی لاراول ایران
مهدی

مشکل در بخش front بخش نظرات

Recommended Posts

با سلام.در طراحی بخش کاربری بخش نظرات هنگام ذخیره نظر ارور 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

این مشکل درست شد منتها یک مسیله ای هست که من اصلا درکش نمی کنم من تو کنترلر خودم مودل article پوشه appیوز  کردم و هیچ استفاده ای از مودل article پوشهfront modelنکردم منتها وقتی مودل articleپوشه frontmodel تغییر میدم دوباره به ارور میخورم کدامو میزارم اگه کسی میتونه توضیح بده533191323_prob9.thumb.png.06ccd8aee309dcbd6402a590cb302c42.png1161602839_prob10.thumb.png.352284b0cf9d5dd1777ef3d68be97748.png1964097698_prob11.thumb.png.cdbb1a32e9c96f9463efc52ea6a92f62.png

Share this post


Link to post
Share on other sites

وارد این گفتگو شوید

میتوانید پیام خود را ارسال کنید و بعد ثبت نام نمایید. در صورتی که حساب کاربری دارید, هم اکنون وارد شوید و در این گفتگو شرکت کنید.

مهمان
پاسخ به این موضوع ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  Only 75 emoji are allowed.

×   لینک شما به صورت اتوماتیک جایگذاری شد.   نمایش به عنوان یک لینک به جای

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • جدید...