سلام ، وقتتون بخیر
بنده در دوره آموزشی ساخت یک وبسایت آموزشی (فروشگاهی) با لاراول که از راکت تهیه کردم ، برای ایجاد قسمت Category برای Article ها به این ارور برخوردم :
SQLSTATE[42S22]: Column not found: 1054 Unknown column 'category' in 'field list' (SQL: insert into articles (title, category, description, body, tags, images, user_id, slug, updated_at, created_at)
کلیه Request ها رو return میکنم : به این شکل نشون داده میشه ! http://uupload.ir/files/ji2l_category.png
اگر امکانش هست کمک کنید . ممنون
خوب اشتباه کردی دیگه چرا category رو توی fillable گذاشتی ؟
دسته بندی ها جزیی از جدول articles نیست که قرارش بدی توی fillable از fillable پاکش کن حل میشه همه چی
یه سوال توی قسمت fillable مربوط به مدل article کلمه category رو احیانا قرار ندادی؟
کد مربوط به store رو اینجا قرار بده
سلام مهدی جان . ممنون از پاسخگویی
در مورد fillable بنده Category رو قرار دادم :
protected $fillable = ['category' , 'title' , 'slug' , 'description' , 'body' , 'images' , 'tags'];
کد مربوط به store :
``` return $request->all();
$imagesUrl = $this->uploadImages($request->file('images'));
$article = auth()->user()->article()->create(array_merge($request->all() , [ 'images' => $imagesUrl]));
$article->categories()->attach(request('category'));
alert()->success('مقاله شما به درستی ایجاد شد !' , 'ثبت شد!')->autoclose(3500);
return redirect(route('articles.index'));```
خوب اشتباه کردی دیگه چرا category رو توی fillable گذاشتی ؟
دسته بندی ها جزیی از جدول articles نیست که قرارش بدی توی fillable از fillable پاکش کن حل میشه همه چی
مهدی جان طبق گفته شما جلو رفتم و category رو از fillable حذف کردم ، اما موقع ثبت اطلاعات به ارور زیر برخورد کردم :
"The file "C:\xampp\tmp\php1C83.tmp" does not exist"
اما زمانی که کد مربوط به attach کردن category رو حذف میکنم مشکل برطرف میشه ! این خط :
$article->categories()->attach(request('category'));
مهدی جان این تصویر رو هم ببین . Categorory یک آرایه برای من برمیگردونه که یکی از مقدار هاش 0 هستش ! میشه دلیلش رو بهم توضیح بدی ؟
سلام جوابتو الان دیدم
تو اینجوری بنویس attach رو
$article->categories()->sync($request->category);
اونی که صفر هستش اندیسه مقادیرها اگه دقت کنی 1 و 2 هستن توی اکثر زبانا اندیس آرایه از صفر شروع میشه
خواهش میکنم
مشکل تو توی سینک یا اتچ نبود مشکل این بود که نوشته بودی :
request('category')
$request->category
ولی sync فرقش اینه که اول هرچی از قبل هرچی attach شده رو detach میکنه و بعد از نو attach رو انجام میده
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟