مرتب سازی بر اساس Mutator Attribute در لاراول

۲۵ اردیبهشت ۱۳۹۷

طراحی سایت

ما می خواهیم عملیات مرتب سازی را در Mutator Attribute در لاراول داشته باشیم. برای این کار فرض کنید شما مدل Client.php را در پروژه لاراول خود دارید که شامل full_name و last_name می باشد که full_name attribute را به شکل تعریف می کنیم:


function getFullNameAttribute()
{
  return $this->attributes['first_name'] . ' ' . $this->attributes['last_name'];
}

شما به شکل زیر می توانید full_name را نمایش دهید:

اگر بخواهید براساس full_name مرتب سازی داشته باشید و از orderBy استفاده کنید به مشکل بر خواهید خورد:


$clients = Client::orderBy('full_name')->get(); // doesn't work

ولی با استفاده از sortBy این مرتب سازی انجام می شود:


$clients = Client::get()->sortBy('full_name'); // works!

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


$clients = Client::get()->sortByDesc('full_name');

 نویسنده:حمید شاه محمدی
 تعداد مشاهده خبر:(363)
 هر روز از مقاله های جدید طراحی سایت در کانال تلگرام ما با خبر شوید

 میانگین امتیازات:
 
  تعداد رای دهندگان: {{ count }}
نظرات:

{{ x }}
{{ alert }}

نویسنده:{{ com.name }}
{{ com.body }}
{{ com.created_at }}