ما می خواهیم عملیات مرتب سازی را در 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');