【发布时间】:2019-02-07 03:41:39
【问题描述】:
这个 sql 查询有效
SELECT
users.*,
(SELECT COUNT(*) FROM villaaz.elanlar
WHERE elanlar.user_id = villaaz.users.id) AS elan_sayi
FROM villaaz.users
INNER JOIN villaaz.elanlar on users.id = elanlar.user_id
WHERE elanlar.country_id=2 AND deleted_at IS NULL
GROUP BY users.id
ORDER BY users.id ASC;
我想用 Laravel 编写它,注意:这是我的 Laravel 代码的重要部分,问题出在此处,其余部分有效,粗线是问题。
$users = User::join('elanlar', 'elanlar.user_id', 'users.id')
->select([
'users.*',
DB::select(DB::raw('COUNT(*) as elan_sayi FROM elanlar WHERE elanlar.user_id = users.id '))
])->where('elanlar.country_id', 19)->groupBy('users.id);
错误是:DB::select(DB::raw('COUNT(*) as elan_sayi FROM elanlar WHERE elanlar.user_id = users.id '))
【问题讨论】:
-
浏览器显示哪个错误?
-
你忘了
select里面的DB::raw。不应该是这样吗DB::select(DB::raw('select COUNT(*) as elan_sayi FROM elanlar WHERE elanlar.user_id = users.id ')) -
sql语法错误
标签: php sql laravel count eloquent