select temp.* FROM
(select uc.circle_id, cas.id as statistic_id, cas.created_at FROM circle JOIN user_circle as uc ON circle.id = uc.circle_id
LEFT JOIN circle_activity_statistics as cas ON uc.circle_id = cas.circle_id WHERE circle.type != 0 and
uc.user_id = 39471 )
as temp
WHERE DATE_FORMAT(created_at,'%Y-%m-%d') = DATE_FORMAT(NOW(),'%Y-%m-%d') OR ISNULL(created_at);
不希望用这种方式:
$query = DB::select("select temp.* FROM (select uc.circle_id, cas.id as statistic_id, cas.created_at FROM circle
JOIN user_circle as uc ON circle.id = uc.circle_id
LEFT JOIN circle_activity_statistics as cas ON uc.circle_id = cas.circle_id WHERE circle.type != 0 and uc.user_id = 39471 ) as temp
WHERE DATE_FORMAT(created_at,'%Y-%m-%d') = DATE_FORMAT(NOW(),'%Y-%m-%d') OR ISNULL(created_at)");
我的原则是,普通的单表sql用ORM,不仅省事,而且带来很多的ORM对象的方法可以使用。但是以上如此复杂的SQL还是建议原生,你用ORM也不好组织,而且一旦有些变动,改起来也费劲