mysql - 将 mysql 查询转换为 laravel 查询生成器
问题描述
我想将此查询转换为 Laravel 查询构建器语法。任何帮助。谢谢。
SELECT c.id, c.name, c.price
FROM cars c , garage g
WHERE (g.name = 'main') AND (g.id= c.garage)
解决方案
\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();
推荐阅读
- javascript - 如何在条件循环内写入 Google App Scripts 中特定行的单元格?
- java - Micronaut 未通过 @Value 注释获取配置值
- c# - 在 Session["DateOfBirth"] Asp.NET MVC 中仅显示日期
- python - 不是重复的-如何在 WHERE IN 中分解/迭代 Python SQL 语句,并带有大量列表
- bash - 有没有办法像 tar.gz 文件一样解压缩 dmg 文件?(使用 Mac 操作系统)
- device-driver - 如何从 struct platform_driver 获取 struct device?
- r - 在 R 中从多个其他变量中创建一个变量,但一个结果不被视为一个因素?
- kubernetes - Openshift - 仅在特定时间段内运行 pod
- python - pyaudio 不会安装 - m1 处理器
- java - javafx 打印控制台输出到 textarea