我已经写了一个查询来获取每个用户他/她的最后一个组织名称,但它只返回组织表的最后一个组织名称。我该如何为每个用户开发此查询。 这是我的查询。
$org=DB::table('careers')
->join('users','careers.user_id','=','users.id')
->pluck('org_name')
->last();
print_r($org);
答案 0 :(得分:0)
使用DB::raw
获取记录。
$org=DB::raw("SELECT users.name, t.org_name
FROM users JOIN (SELECT org_name
FROM careers
WHERE users.id = careers.user_id
ORDER BY created_at DESC
LIMIT 1) as t ON t.user_id = user.id");
希望这可行。
答案 1 :(得分:0)
您可以使用latest()
和first()
方法获取最后1条记录
$org=DB::table('careers')
->join('users','careers.user_id','=','users.id')
->latest()
->first()
->pluck('org_name');
OR
使用latest()
和take()
方法
$org=DB::table('careers')
->join('users','careers.user_id','=','users.id')
->latest()
->take(1)
->pluck('org_name');