将 mysql 查询转换为 laravel 查询生成器
Posted
技术标签:
【中文标题】将 mysql 查询转换为 laravel 查询生成器【英文标题】:convert mysql query to laravel query builder 【发布时间】:2019-03-09 00:42:57 【问题描述】:我想将此查询转换为 Laravel 查询构建器语法。任何帮助。谢谢。
SELECT c.id, c.name, c.price
FROM cars c , garage g
WHERE (g.name = 'main') AND (g.id= c.garage)
【问题讨论】:
到目前为止你尝试了什么? 给我们一些你尝试过的事情的例子,以及这应该如何工作......因为从我的角度来看,即使是查询看起来也有点阴暗。 【参考方案1】:\DB::table('cars')
->join('garage', 'garage.id', '=', 'cars.garage')
->where('garage.name', 'main')
上面解决了车库和汽车部分,但您从未指定别名为 p 的内容。如果 p 是不同的表,那么您需要向join()
添加另一个调用并进行以下操作
\DB::table('cars')
->join('garage', 'garage.id', '=', 'cars.garage')
//<Other table join goes here for table aliased to p>
->where('garage.name', 'main')
->select(['p.id', 'p.name', 'p.price'])
->get();
【讨论】:
以上是关于将 mysql 查询转换为 laravel 查询生成器的主要内容,如果未能解决你的问题,请参考以下文章
如何将此查询从SQL(mysql)转换为Eloquent(Laravel)
需要将查询转换为 Eloquent Model laravel