我有两个模型/表:User和POST。一个用户可以有多个帖子,每个帖子属于一个用户。
users:
id | name |
--------------------
1 | user 1 |
2 | user 2 |
3 | user 3 |
posts:
id | user_id | created_at |
---------------------------------------------
1 | 1 | 2018-02-19 08:00 |
2 | 2 | 2018-02-19 09:00 |
3 | 3 | 2018-02-19 10:00 |
4 | 1 | 2018-02-19 11:00 |
5 | 1 | 2018-02-19 12:00 |
6 | 2 | 2018-02-19 13:00 |
我希望能够返回以下结果
[
{
id: 3,
name: "user 3"
},
{
id: 1,
name: "user 1"
},
{
id: 2,
name: "user 2"
}
]
因为用户3最近的帖子是在最早之前创建的,然后是用户1,然后是用户2。
到目前为止,我已经尝试过了,但它为用户返回了重复的结果:
return $this->builder
->join('posts', function ($join) {
$join->on('users.id', '=', 'posts.user_id')
->orderBy('posts.created_at', 'desc')
->limit(1);
})
->orderBy('posts.created_at', 'asc')
->get();
return $this->builder
->join('posts', 'users.id', '=', 'posts.user_id')
->groupBy('users.id')
->take(1)
->orderBy('posts.created_at', 'asc')
->get();
下面是一个原始的MySQL查询,它可以实现以下功能:
SELECT
t1.id, t1.name
FROM users t1
LEFT JOIN
(
SELECT user_id, MAX(created_at) AS created_at
FROM posts
GROUP BY user_id
) t2
ON t1.id = t2.user_id
ORDER BY
t2.created_at;
下面是我对相应的Laravel查询的尝试:
DB::table('users')
->select('id', 'name')
->join(DB::raw('(SELECT user_id, MAX(created_at) AS created_at
FROM posts GROUP BY user_id) t'),
function($join)
{
$join->on('users.id', '=', 't.user_id');
})
->orderBy('t.created_at', 'ASC')
->get();
我试图根据特定属性的特定值对AEM query builder搜索结果进行排序。就像在MySQL这样的数据库中一样,我们也可以根据列的值进行排序(例如,按字段排序('columnName','anyColumnName'))。我们可以在AEM中使用类似的东西吗。 假设我们在path/content/dam/Assets下有5个资产。 资产名称------------dc: title 1.jpg-
假设我们正在使用Laravel的查询生成器: 我正在寻找一个等效的SQL: 当我必须键入大量select和WHERE(或者通常在select的列alias中包含别名,并且它在结果数组中使用)时,这将特别有用。如果没有任何表别名,我需要输入更多的内容,所有内容的可读性都会降低。在laravel文档中找不到答案,有什么想法吗?
我正在尝试输出一个显示求职者对特定工作的申请的视图。到目前为止,我只能查看所有接收到的应用程序的转储,但我无法实现查询来仅查看特定作业的应用程序。即我希望能够查看每个不同空缺职务的条目。谢谢 \\ \\
我有一个问题,使laravel查询: 我想举个例子: 我有这个但不起作用:
我想在查询生成器laravel中orderBy 因为我的是类型 所以当它排序的时候...结果远远不是我想要的... 我的剧本就像这样 我已经试过了 我如何铸造OrderBy查询生成器,以便我可以排序desc
我正在使用Laravels查询生成器检索带有一些筛选选项的项目列表-我需要在此查询中进行计数: 计算“Freestyle ID”在likes表中出现的次数。 这有可能吗?返回的数据是完美的,我只需要一个自由泳的喜欢量,其中喜欢表中的自由泳ID为空。