首页 > 解决方案 > 将 mysql 查询转换为 laravel 查询生成器

问题描述

我想将此查询转换为 Laravel 查询构建器语法。任何帮助。谢谢。

SELECT c.id, c.name, c.price
FROM cars c  , garage g
WHERE (g.name = 'main') AND (g.id= c.garage)

标签: mysqllaravelquery-builder

解决方案


\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();

推荐阅读