【发布时间】:2013-02-04 11:56:07
【问题描述】:
我正在尝试为以前与 Codeigniter 一起使用的数据库重写一些逻辑。该设计使得多对多连接的一些条件存储在连接表中,如下所示:
Table user
- user_id
...
Table avatars
- user_id
- image_id
- uploaded_timestamp
- deleted_timestamp
Table images
- image_id
...
在这种情况下,我想通过头像表获取与用户关联的所有图像,按上传时间降序排列,不包括已删除的头像(deleted_timestamp 不为空)。
我发现使用 Eloquent 的 hasMany 不允许连接表上的条件。实现这种影响的最简洁的方法是什么,或者我是否需要像过去使用 Codeigniter 的活动记录类一样构建完整的查询?
注意:我发现 this answer 建议使用 ->hasMany(..)->with('another_column_from_pivot_table'),但这似乎只适用于 Laravel 3 的 Eloquent 实现。似乎 ->with 现在仅用于 eagar 加载。
【问题讨论】:
标签: many-to-many laravel laravel-4 eloquent