CRUD orderПо взаимосвязи

У меня возникают трудности с упорядочением строк CRUD по связанному значению. В моем основном случае я хочу упорядочить задания по весу связанного с ними статуса.

Job (table)->status_id ---> Status (table)->weight

У меня правильно настроены отношения ownTo и hasMany, добавление / редактирование и т. Д., Работает хорошо, я просто не могу понять, как установить $this->crud->orderBy()


person Charlie Langridge    schedule 07.02.2017    source источник


Ответы (1)


Это ничем не отличается от сортировки любой модели Laravel по ее отношению. И я думаю, что стандартный способ — использовать для этого нетерпеливую загрузку Laravel. :

$this->crud->query = $this->crud->query->with(['status' => function ($query) {
    $query->orderBy('weight', 'desc');
}])->get();

Надеюсь, поможет!

person tabacitu    schedule 11.02.2017
comment
Это сработало для меня, но в моем случае мне пришлось удалить ->get(), чтобы избежать Too few arguments to function Illuminate\Support\Collection::get(), 0 passed in /home/vagrant/sites/bookit-nexxus/vendor/backpack/crud/src/PanelTraits/Read.php on line 102 and at least 1 expected - person Wesley Smith; 25.07.2019