آموزش laravel eloquent به زبان ساده قسمت اول

حمید تیموری 2929 بازدید 1397/06/06
آموزش laravel eloquent به زبان ساده قسمت اول

این مقاله برای افراد مبتدی است که تازه با لاراول آشنا شده اند.

خب اول باید ببینیم که eloquent  چیست ؟

به زبان ساده، eloquent راهی است که شما در آن میتوانید پایگاه داده یا database را به یک کلاس تبدیل کنید، و برای عملیات هایی مثل
گرفتن اطلاعات، ستون ها و غیره به راحتی از ویژگی های کلاس استفاده کنید.

بخاطر Eloquent چیزهایی مثل حذف کردن، اضافه کردن، ویرایش و query های سنگین دیگر نیازی به نوشته شدن ندارند!

چگونه از eloquent استفاده میکنند؟

جواب خیلی ساده است: با استفاده از model !

در مثالی که من میخوام واسه شما بنویسیم یک جدول در دیتابیس داریم نامش articles  است و میخواهیم برای این جدول مدل تعریف کنیم و از Eloquent برای مدیریت آن استفاده کنیم!

بنابراین برای اینکه مدل مورد نظر برای جدول آرتیکل را بسازیم یک سری قراردداد و استاندارد در لااراول تعریف شده است، که بهتر است همگی آنها را رعایت کنیم:

قراداد ها:

1. حرف اول مدل را با حرف بزگ بنویسید

2. مدل ها به اسم مفرد ساخته شوند یعنی اگر جدول شما قرار است که مقالات یا همان articles را در خود نگهداری کند، بهتر است که
مدل آن به صورت مفرد تعریف شود یعنی Article
3. به صورت پیش فرض لاراول کلید اصلی هر مدل را id درنظر میگیرد، اگر شما نیاز داشته باشید که آن را تغییر دهید، باید در مدل خود، از یک متغیر به شکل زیر استفاده کنید: 

protected $primaryKey = 'my_id';

4. لاراول به صورت پیشفرض اننظار دارد که در جدول شما 2 فیلد created_at و updated_at وجود داشته باشد
اگر شما این ویژگی را نخواستید میتوانید با استفاده از یک متغیر در مدل به شکل زیر این گزینه را غیر فعال کنید.

public $timestamps = false;

 

مثال:

نام جدول : articles   ← نام مدل : Article

نام جدول : users   ← نام مدل : User

نام جدول : schools   ← نام مدل : School

اگر این قوانین را رعایت کنید، زمانی که مدل را تعریف میکنید، لاراول طبق قواعد زبان انگلیسی، جدول مورد نظر هر model را تشخیص میدهد، دیگر نیازی نیست نام جدول برای آن تعریف شود، ولی به هرحال شما میتوانید نام جدول را در مدل تعریف کنید

در ادامه به شما خواهم گفت چگونه این کار را انجام دهید:

برای ساختن مدل باید ترمینال یا همان کنسول را باز کنید و دستور زیر را بنویسید:

php artisan make:model Article

بعد از اجرای دستور، با این پیام رو به رو میشوید که:

 model created successfully

یعنی مدل با موفقیت ساخته شد.


مدل ها در پوشه app ساخته میشوند. وارد این پوشه شوید و اگر مدل Article را باز کنید کد زیر را مشاهده خواهید کرد:

namespace App;


use Illuminate\Database\Eloquent\Model;

class Article extends Model
{
   // 
}

اگر به هردلیلی نیاز شد نام جدول از طبق قوانین لاراول تعریف نشود، برای اینکه جدول را به مدل معرفی کنیم، از یک متغیر استفاده میکنیم که به شکل زیر است:

namespace App;


use Illuminate\Database\Eloquent\Model;

class Article extends Model
{
    protected $table = 'articles'; 
}

 خب حالا این کار چه استفاده ای برای ما دارد؟

زمانی که شما میخواهید یک مقاله اضافه کنید، تمامی ستون هایی که در جدول وجود دارد، به شکل attribute های کلاس در دسترس شما هستند:

مثال:

$article=new Article;

$article->name = $request->name;

$article->content=$request->content;

$article->save();


بنابراین اگر جدول شما دارای ستون های زیر باشد، این ستون ها بخاطر Eloquent به عنوان attribute های کلاس Article به راحتی در دسترس شما هستند:

id, name, content, created_at, updated_at

ادامه توضیحات را در مطلب بعدی دنبال کنید.

دیگر مقالات
حمید تیموری 2486 بازدید 1397/05/14
حمید تیموری 2201 بازدید 1397/11/13
امید کیانی 2786 بازدید 1398/06/15
حمید تیموری 1498 بازدید 1397/10/22
حمید تیموری 1180 بازدید 1397/05/09


نظرات (0)
هنوز نظری ثبت نشده است
برای ثبت نظر ابتدا وارد سایت شوید