0
我想建立查询在laravel后5内建laravel复杂查询5
SELECT * FROM tbl WHERE updated_at IN (
SELECT max(updated_at) FROM tbl
WHERE created_at BETWEEN $begin_time AND $end_time
GROUP BY ip_address)
我的代码:
$sqlStr = self::select('*')
->whereIn('updated_at', function($query){
return $query->select(self::raw('max(updated_at)'))
->whereRaw('created_at >= $begin_time)
->whereRaw('created_at <= $end_time)
->groupBy('ip_address');
})->toSql();
var_dump(($sqlStr));die;
错误信息:
ErrorException在Grammar.php线58:
strtolower()期望参数1是字符串,给定的对象
请帮帮我。
是你的$ BEGIN_TIME和$ END_TIME字符串或碳日期?你也应该使用绑定参数而不是连接字符串来插入变量,这样你会更安全,并且你将避免你在这里可能遇到的问题,在whereRaw语句中缺少' – rypskar