Jaz*_*uly 2 mysql sql laravel eloquent laravel-5
我想在同一行使用min
和max
laravel elaquent,这可能吗?
Appointmentsetting::where('Day','=',1)
->whereIn('PersonID', function ($query) {
$query->select('p.id')
->from('users as p')
->join('appointmentsettings as aps', 'aps.PersonID', '=', 'p.id')
->where('p.active', '=', 1)
->where('aps.CompanyID', '=', 1)
->orWhereIn('aps.PersonID', function ($query2) {
$query2->select('cps.user_id')
->from('companypersonstructs as cps')
->where('cps.CompanyID', '=', 1);
})
->groupBy('aps.PersonID');
})
->where('active', '=', 1)
->select(\DB::raw("SELECT MIN(StartFrom) AS StartFrom, MAX(EndTo) AS EndTo"));
->get();
Run Code Online (Sandbox Code Playgroud)
我有错误
SQLSTATE[42000]:语法错误或访问冲突:1064 你的 SQL 语法有错误;检查与您的 MariaDB 服务器版本相对应的手册,以在第 1 行的“约会设置”中的“SELECT MIN(StartFrom) AS StartFrom, MAX(EndTo) AS EndTo”附近使用正确的语法
->selectRaw(" MIN(StartFrom) AS StartFrom, MAX(EndTo) AS EndTo");
Run Code Online (Sandbox Code Playgroud)
请提出以上查询并尝试。您查询中的主要问题是您使用了两次 select 不需要在 select 或 selectRaw 中写入 select 以获取有关原始查询的更多信息,请单击此处