mysql - 在laravel中编写连接同一个表的代码

标签 mysql laravel left-join

我有 2 张 table

Table 1: farm has columns id, name, id_tech, id_manager
Table 2: User has columns: id, name

我在 mysql 中运行以下语句:

 SELECT eco_farm.id, eco_farm.name as farmname, A.name as manager, 
       B.name as tech 
 FROM eco_farm 
 LEFT JOIN eco_user A ON A.id = eco_farm.id_manager 
 LEFT JOIN eco_user B ON B.id = eco_farm.id_tech

结果是 enter image description here

但是我不知道如何在 laravel 中编写代码如何在 laravel 中检索数据。愿你帮助我。谢谢

最佳答案

这是使用查询生成器。

$result = \DB::table('eco_farm')
    ->leftJoin('eco_user as A', 'A.id', '=', 'eco_farm.id_manager')
    ->leftJoin('eco_user as B', 'B.id', '=', 'eco_farm.id_tech')
    ->selectRaw('eco_farm.id, eco_farm.name as farmname, A.name as manager, B.name as tech')
    ->get();

查看文档以获取更多信息和示例 https://laravel.com/docs/5.4/queries

关于mysql - 在laravel中编写连接同一个表的代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44357096/

相关文章:

php - Laravel 5.2 - Eloquent 模型查询

故障转移后 MySQL 节点加入组复制失败导致额外事务

MySQL Select with Inner Join, Limit only first

mysql - 带有 3 个表的左连接并不像我期望的那样工作

c# - Fluent NHibernate QueryOver 选择不在另一个表中的项目(左连接)

MySQL - 根据最新日期过滤表

php - 无法捕获 Carbon 抛出的异常

laravel - Eloquent 查询 : All News with same categories. 数据透视表

laravel - 使用 Yeoman + Laravel 构建应用

mysql - MYSQL 中的查询表。 mysql select语句中的IF语句,如果字段为空,则左连接以获取替换值