این وب سایت با تمامی محتویات و دامین به فروش می رسد. لطفا جهت خریداری از طریق بخش ارتباط با ما در تماس باشید

جستجو ...


هدف ما این است که شما، در بالاترین سطح برنامه نویسی و توسعه وب باشید.

ثبت نام کنید

لیست کشویی (select) یکی از اجزای اصلی صفحات وب است که در اکثر فرم های Html با استفاده از تگ <select>  استفاده می شود. در این مقاله از لیداوب قصد داریم نحوه ساخت یک لیست کشویی داینامیک با استفاده از ‌eloquent ها در لاراول را به شما یاد دهیم .


بهترین راه برای ایجاد لیست های کشویی توسط elequent استفاده از متد pluck() است . توجه داشته باشید که استفاده از این متد فقط برای فیلدهای اصلی دیتابیس است و فیلد هایی که توسط Accessor به مدل اضافه شده را شامل نمی شود, ولی راه حلی وجود دارد که در ادامه آن را توضیح خواهیم داد .

بیشتر بخوانید:

لاراول Accessors و Mutators

در اینجا از روشی استفاده می کنیم که فقط شامل فیلدهای اصلی جدول شما هستند :

Controller :

$employees = Employee::where('branch_id', 9)->lists('name', 'id');
return view('customers.create', compact('employees'));
 

View :

{!! Form::select('employee_id', $employees, '') !!}

 خروجی کدهای بالا یک لیست کشویی از نام کارکنان است .

فرض میکنیم که جدول کارکنان شامل فیلدهای name ,surname ,id است, حال اگر بخواهیم لیست کشویی ما شامل نام و نام خانوادگی باشد باید با استفاده از Accessor ها یک فیلد به نام full_name به مدل employee اضافه میکنیم :

public function getFullNameAttribute() {
    return $this->name . ' ' . $this->surname;
}

حال اگر شما از pluck('full_name','id') استفاده کنید با خطا زیر مواجه می شوید :

SQLSTATE[42S22]: Column not found: 1054 Unknown column 'full_name' in 'field list' (SQL: select `id`, `full_name` from `employee` )

راه حل این است که ابتدا نتایج پرس و جو را بدست آوریم، سپس از متد pluck() استفاده می کنیم.

کد قبلی :

$employees = Employee::where('branch_id', 9)->lists('full_name', 'id');

کد جدید برای رفع خطا فیلدهای اضافه شده توسط Accessor :

$employees = Employee::where('branch_id', 9)->get()->lists('full_name', 'id');

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

فرا بگیرید:

آموزش پایه لاراول نسخه 5.5


 مطالب مرتبط  

در قسمت زیر مطالبی وجود دارند که با مقاله فعلی مرتبط هستند

متاسفانه فقط اعضای سایت قادر به ثبت دیدگاه هستند

برترین های