سلام
public function store(Request $request)
{
$this->vallidateArticle($request);
Article::create([
'user_id'=>1,
'title'=>$request->title,
'description'=>$request->description,
'image'=>$this->uploadImage($request)
]);
return response()->json(['message'=>'created'],201);
}
درون این متود
store()
بعد از اعتبارسنجی ورودی ،می خواهیم اون را درون مدل مون و به طبع در پایگاه داده قرار بدهیم اما در این جا متود
create
را به عنوان مجیک متود نمی شناسد و ارور می دهد که همچین متودی در مدل
Article
وجود ندارد
یک سوال چهطور میشه متوجه شد که در لاراول7 متود
create
به چه صورت استفاده می شود؟
سلام دوست عزیز
همیشه تصویر خطا رو همراه مدل و کنترلر قرار بدین تا راحتتر مشکلتون حل بشه
اما خطایی که الان دریافت میکنید بخاطر قرار ندادن فیلدهای fillable در مدل Article هستش.
protected $fillable = [
'user_id',
'title',
'description',
'image',
];
مورد بعدی هم اینکه متدهای اصلی و بنیادی (مثل Create یا Update) در ورژنهای مختلف ثابت هست و تغییر کلی خیلی خیلی کم اتفاق میفته و برای اینکه تسلط بیشتری پیدا کنید حتما داکیومنت لاراول رو بخونید
سلام دوست عزیز
کاش قبل از این که قضاوت کنید اول می پرسیدید که این کار را کرده ایدیا نه
fillable را قرار داده ام ولی خطایی دریافت نمی کنم در dd کردن کدهای ام قبل از متود
create مشکلی نیست اما بعد از آن dd می کنم نتیجه ای نشان نمی دهد از طرفی هم وقتی موس روی متود create قرار می دهم پیام میده که این متود در این class تعریف نشده و از طرفی در فیلم ها را مشاهده کنید استاد متود
create را فقط صدا می زند تعریف نمی کند وجالب این جا است که چون مدل های که ایجاد میکنیم
extands model را انجام می دهند پس باید متود
create درون class model
باشد اما نیست
ولی مثلا متود
only,delete,update,..
هست