以前にCodeigniterで使用されていたデータベースのロジックを書き直そうとしています。多対多結合の条件の一部が次のように結合テーブルに格納されるように設計されています。
Table user
- user_id
...
Table avatars
- user_id
- image_id
- uploaded_timestamp
- deleted_timestamp
Table images
- image_id
...
この場合、アバターテーブルを介してユーザーに関連付けられたすべての画像を取得し、アップロードされた時間の降順で、削除されたアバターを含めないようにします(deleted_timestampはnullではありません)。
EloquentのhasManyを使用すると、結合テーブルの条件が許可されないことがわかりました。この効果を達成するための最もクリーンな方法は何ですか、またはCodeigniterのアクティブレコードクラスで使用していた方法で完全なクエリを構築することに頼る必要がありますか?
注:を使用することを提案するこの回答を見つけまし->hasMany(..)->with('another_column_from_pivot_table')
たが、それはLaravel3のEloquent実装でのみ機能するようです。どうやら->withはイーガーローディング専用になりました。