Я пытаюсь переписать некоторую логику для базы данных, которая ранее использовалась с Codeigniter. Конструкция такова, что некоторые из условий многие-ко-многим присоединиться сохраняются в соединительной таблице следующим образом:Laravel 4 Красноречивый: многие-ко-многим с условиями при соединении таблицы
Table user
- user_id
...
Table avatars
- user_id
- image_id
- uploaded_timestamp
- deleted_timestamp
Table images
- image_id
...
В этом случае, я хочу, чтобы получить все изображения, связанные с пользователем с помощью аватар таблица, упорядоченная по времени, загруженному по убыванию, и не включая удаленные аватары (deleted_timestamp не null).
Я обнаружил, что использование hasMany от Eloquent не позволяет создавать условия для соединительной таблицы. Каков самый чистый способ добиться этого, или мне нужно прибегнуть к созданию полного запроса в том, как я привык с активным классом записей Codeigniter?
Примечание: Я нашел this answer, который предполагает использование ->hasMany(..)->with('another_column_from_pivot_table')
, но это только кажется, работать с красноречивой реализацией Laravel 3'S. Кажется -> теперь есть только для загрузки агара.
Спасибо. Я также обнаружил, что вы можете использовать '-> withPivot ('column_name')', чтобы получить значения столбцов столбцов, возвращенные с помощью коллекции fromTotMany. Но, как вы указываете, это все равно оставляет мне возможность не добавлять порядок и где фильтровать коллекцию. Вы будете работать, а также использовать foreach в коллекции и вручную извлекать и заказывать, но ваш более идеален. Благодаря! – epocsquadron