好的,所以我需要在下面用 eloquent 或 Laravel 创建一个查询。我只是不确定如何创建这样的东西:
select * from
(select * from Bulk
where Login = 'moga' and ApptDate='2015-02-25'
order by FormatTime asc) as A
group by Name
这个查询将作为数据库中的原始查询运行得很好,我只是不确定如何使用查询助手或 Eloquent 来完成这个查询。
最佳答案
您可以使用 Eloquent 或查询生成器。以下是查询生成器的示例:
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 注入(inject)的攻击:
$from = DB::table('Bulk')
->where('Login', $login)
->where('ApptDate', $date)
->orderBy('FormatTime')
->toSql();
DB::table(DB::raw('(' . $from . ') A'))->groupBy('Name')->toSql();
关于php - 在 Laravel 中使用 eloquent 创建查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28731117/