我这里有一个laravel查询:
DB::table('notifications')
->leftJoin('domains', 'domains.domain', '=', 'notifications.data->via_domain')
->select('notifications.data->via_domain as domain_name')
->groupBy('notifications.data->via_domain')
->get();
这显示表格'通知'之间存在的域名。和'域名'。但是,我想在'通知'中计算notifications.notifiable_id字段。由:
DB::table('notifications')
->leftJoin('domains', 'domains.domain', '=', 'notifications.data->via_domain')
->selectRaw('count(notifications.notifiable_id), notifications.data->via_domain')
->get();
但是它在SQL语法中显示错误。
(您的SQL语法有错误;请查看手册 对应于您的MySQL服务器版本,以便使用正确的语法 近
via_domain from notifications left join domains on
domains.domain = not at line 1 (SQL: select
count(notifications.notifiable_id), notifications.data->via_domain
from notifications left join domains on domains.domain =
notifications.data->'$."via_domain"')')
感谢你的帮助,minna-san。
答案 0 :(得分:0)
我已经知道了!
这是我的代码:
DB::table('notifications')->leftJoin('domains', 'domains.domain', '=', 'notifications.data->via_domain')
->select('notifications.data->via_domain as domainName', DB::raw('COUNT(notifications.notifiable_id) AS leadsCount'))
->groupBy('notifications.data->via_domain')
->get();
这会产生一个显示域名及其leadsCount的数组。
谢谢大家。
答案 1 :(得分:0)