Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 12.02.2019 10:59:50

laravel сотртировка

Имеется 2 модели связанные 1 к 1 (hasOne) и соответственно работа через Eloquent ORM.

return $this->1модель->with('2модель')->get();

и вот такой вопрос. нужно отсортировать все это по полю из связанной таблицы. возможно ли это с таким подходом? join не хочу использовать по многим причинам. вся работа настроена с таким подходом и фильтрация и тд.

Не в сети

#2 12.02.2019 11:25:26

Re: laravel сотртировка

нужно отсортировать все это по полю из связанной таблицы. возможно ли это с таким подходом? join не хочу использовать по многим причинам.

Явно или неявно вы будете использовать join, раз нужна связанная таблица.


There are two hard things in computer science: cache invalidation, naming things, and off-by-one errors.

Не в сети

#3 12.02.2019 11:29:25

Re: laravel сотртировка

Реально избавиться от связи можно за счёт избыточности, частичной де-нормализации данных. То есть вы можете добавить это самое нужное поле в ту таблицу, которую собираетесь сортировать. Не берусь утверждать надо ли это, но такое возможно и кое-где используется ради производительности.


There are two hard things in computer science: cache invalidation, naming things, and off-by-one errors.

Не в сети

#4 12.02.2019 11:32:45

Re: laravel сотртировка

Явно или неявно вы будете использовать join, раз нужна связанная таблица.

а можно ли как-то его использовать с минимальными потерями?) при его использовании ведь явно указываются названия таблиц (а хотелось бы оперировать именно моделями), в фильтрации придется добавлять тоже имена таблицы, т к id и даты будут неопределенными...

Не в сети

#5 12.02.2019 14:54:53

Re: laravel сотртировка

явно указываются названия таблиц (а хотелось бы оперировать именно моделями)

Не знаю. По-моему легче смириться с такой особенностью, чем городить костыли.


There are two hard things in computer science: cache invalidation, naming things, and off-by-one errors.

Не в сети

Подвал раздела