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

هاست لاراول با پشتیبانی 24 ساعته و امکانات کامل از مدیرهاست

مهدی

مشکل در slug

Recommended Posts

با سلام.طبق ویدیو شماره 31 عمل کردم منتها وقت ذخیره فرم ارور زیر میده:

Illuminate\Database\QueryException

SQLSTATE[HY000]: General error: 1364 Field 'slug' doesn't have a default value (SQL: insert into `articles` (`hits`, `name`, `description`, `stimg`, `status`, `user_id`, `updated_at`, `created_at`) values (0, مطلب 1, <p>این محتوایی برای مطلب 1 1است&nbsp;این محتوایی برای مطلب 1 1است</p>, http://localhost/storage/photos/1/Pic 123.jpg, 1, 1, 2020-04-28 12:39:09, 2020-04-28 12:39:09))
 
و اینم از مدل َََََArticle.phpکه در پوشه frontmodelاست:
<?php
 
namespace App\frontmodel;
use Cviebrock\EloquentSluggable\Sluggable;
 
use Illuminate\Database\Eloquent\Model;
 
class Article extends Model
{
    use Sluggable;
    protected $fillable=['name','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'
            ]
        ];
    }
}
و اینم از مدل َََََArticle.phpکه در پوشه appاست:
<?php
 
namespace App;
 
use Illuminate\Database\Eloquent\Model;
 
class Article extends Model
{
    protected $fillable=['name','description','user_id','status','stimg'];
 
    protected $attributes=[
        'hits'=>"0",
    ];
    public function cats(){
        return $this->belongsToMany(Cat::class);
    }
    public function user(){
        return $this->belongsTo(User::class);
    }
}

Share this post


Link to post
Share on other sites

شما باید در کنترلر مقدار slug رو دریافت کنید و همراه اطلاعات دیگه برای ایجاد مطلب به دیتابیس ارسال کنید الان هیچ مقداری برای slug ارسال نشده برای همین خطا میده

 

Share this post


Link to post
Share on other sites

اول اینکه من دارم اینکار برای متد create انجام میدم و هدف ساخت مطلب جدید در نتیجه چیزی از قبل نباید وجود داشته باشه و دوم اینکه توی آموزشم در  کنترلر مقداری دریافت نکرد ولی خطا نداد بلکه خود slugable فیلد slug رو از روی فیلد name پر کرد.

Share this post


Link to post
Share on other sites

چیزی از قبل وجود نداره منظورم اطلاعاتی هست که از فرم ایجاد مطلب ارسال میکنید این اطلاعات در کنترلر دریافت میشن و به متد create پاس داده میشن

الان از پکیج slugable که استفاده کردید باید slug رو در مادل Article در قسمت $fillable هم وارد کنید الان چون نذاشتید خطا میده

Share this post


Link to post
Share on other sites

درست شد این دو دسته شدن مودلا گیجم کرده بود slugableبه جای اینکه در مودل back استفاده کنم در مودل فرانت استفاده کرده بودم به خاط همین نمی تونست از روی فیلد نام اسلاگ درست کنه.با تشکر از شما که وقت گذاشتید

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.


×
×
  • جدید...