Я пытаюсь переписать некоторую логику для базы данных, которая ранее использовалась с Codeigniter. Конструкция такова, что некоторые условия соединения «многие ко многим» хранятся в таблице соединений следующим образом:
Table user
- user_id
...
Table avatars
- user_id
- image_id
- uploaded_timestamp
- deleted_timestamp
Table images
- image_id
...
В этом случае я хочу получить все изображения, связанные с пользователем, через таблицу аватаров, упорядоченные по времени загрузки по убыванию и не включая удаленные аватары (deleted_timestamp не нуль).
Я обнаружил, что использование hasMany в Eloquent не допускает условий для присоединяемой таблицы. Каков самый чистый способ добиться этого эффекта, или мне нужно прибегнуть к созданию полного запроса так, как я привык к классу активной записи Codeigniter?
Примечание. Я нашел этот ответ, в котором предлагается использовать ->hasMany(..)->with('another_column_from_pivot_table')
, но, похоже, он работает только с Реализация Eloquent в Laravel 3. Кажется, ->with теперь только для загрузки eagar.