好的,所以我需要在eloquent或Laravel中创建一个查询。我只是不确定如何创建这样的东西:
select * from
(select * from Bulk
where Login = 'moga' and ApptDate='2015-02-25'
order by FormatTime asc) as A
group by Name
这个查询在数据库中作为原始查询运行得很好,我只是不确定如何使用查询助手或雄辩来解决这个问题。
答案 0 :(得分:0)
您可以使用Eloquent或Query Builder。以下是查询构建器的示例:
DB::table(DB::raw('(select * from Bulk where Login = "moga" and ApptDate="2015-02-25" order by FormatTime asc) as A'))
->groupBy('Name')
->get();
使用Eloquent,您可以使用ModelName::from()
代替DB::table()
。但请记住,DB::raw
不会转义插入到查询字符串中的变量值,您也可以使用构建器构建嵌套查询,以确保您不会受到SQL注入的攻击:
$from = DB::table('Bulk')
->where('Login', $login)
->where('ApptDate', $date)
->orderBy('FormatTime')
->toSql();
DB::table(DB::raw('(' . $from . ') A'))->groupBy('Name')->toSql();