因此,我几天前开始学习laravel,现在我有了雄辩的ORM问题。Laravel通过另一个表格的列获取项目
我有2个表:
Links: ╔════╦═══════╗ ║ Id ║ Name ║ ╠════╬═══════╣ ║ 1 ║ test ║ ║ 2 ║ test2 ║ ╚════╩═══════╝ Likes: ╔════╦═════════╦═══════╦══════════════════╗ ║ Id ║ link_id ║ total ║ created_at ║ ╠════╬═════════╬═══════╬══════════════════╣ ║ 1 ║ 1 ║ 5 ║ 2014.08.27 11:32 ║ ║ 2 ║ 2 ║ 10 ║ 2014.08.29 07:07 ║ ╚════╩═════════╩═══════╩══════════════════╝
每一天,我在likes
表中创建新行,然后增加列total
为每个新等。我之所以这样做,是因为我需要根据今天,本周和本月的每个链接有多少喜欢进行过滤。所以,我不知道如何在Eloquent ORM中做到这一点。随着加载看起来是不可能的,因为有2个不同的查询,我需要类似于JOINS的东西在1个查询中使用这两个表。
我当前的查询:
$links = Link::with('likes')->paginate(10);
任何想法,我可怎么办呢?
对不起,我的英语。谢谢。
编辑
在SQL查询应类似于:
SELECT * FROM链接为ln LEFT JOIN喜欢AS LK ON ln.id = lk.link_id WHERE lk.created_at BETWEEN “2014年8月28日9时52分58秒”和 “2014年8月29日9时52分58秒” ORDER BY lk.total
[这里](http://laravel.com/docs/eloquent#relationship)可能会帮助你 – 2014-08-29 08:57:17
我已经使用了一对多的关系。 – gintko 2014-08-29 09:16:41