فصل دوم: پایگاه داده با Eloquent

Eloquent ORM

کار با داده از طریق مدل‌ها

Eloquent، ORM (Object-Relational Mapping) پیش‌فرض لاراول است که به شما اجازه می‌دهد به‌جای نوشتن SQL خام، با ردیف‌های جدول به‌صورت شیء PHP کار کنید. هر جدول در دیتابیس معمولاً یک Model متناظر دارد؛ مثلاً جدول posts با مدل Post مدیریت می‌شود.

php artisan make:model Post

عملیات پایه‌ی CRUD با Eloquent بسیار خوانا و ساده است:

// ایجاد رکورد جدید
$post = Post::create([
    'title' => 'آموزش لاراول',
    'body'  => 'متن مقاله...',
    'user_id' => 1,
]);

// خواندن همه‌ی رکوردها
$posts = Post::all();

// جستجوی شرطی
$posts = Post::where('user_id', 1)->orderBy('created_at', 'desc')->get();

// به‌روزرسانی
$post = Post::find(1);
$post->title = 'عنوان جدید';
$post->save();

// حذف
Post::destroy(1);

یکی از مزایای مهم Eloquent، متد findOrFail است که در صورت پیدا نشدن رکورد به‌جای بازگرداندن null، خطای 404 مناسب برمی‌گرداند؛ این ویژگی برای Controllerهایی که پاسخ به کاربر می‌دهند بسیار کاربردی است. Eloquent همچنین امکان تعریف روابط بین جداول (مانند یک‌به‌چند و چندبه‌چند) را فراهم می‌کند که موضوع درس بعدی است.

برای ذخیره‌ی پیشرفت و شرکت در آزمون، وارد شوید — رایگان است.