php - SQL Join 相似列上的原始查询问题

标签 php mysql sql laravel join

这是我的报告表

report
id user_id field_tech_id
1  1       4
2  3       6

用户表是

user
id name    user_type
1  raj     1
3  ram     1
4  anthony 2
6  kumar   2

此处,在 user_type 列中,1 表示用户,2 表示 field_tech

我如何加入并获取订单的用户名和现场技术名称

我尝试过

$data = Report::select('user.name as user_name')
                    ->leftjoin('users','users.id','=','report.user_id')
                    ->get();

但是当我尝试

$data = Report::select('user.name as user_name')
                    ->leftjoin('users','users.id','=','report.user_id')
                    ->leftjoin('users','users.id','=','report.field_tech_id')
                    ->get();

如何获取用户名和现场技术人员姓名?

最佳答案

试试这个:

$data = Report::select('user.name as user_name')
                ->leftjoin('users as users1','users.id','=','report.user_id')
                ->leftjoin('users as users2','users.id','=','report.field_tech_id')
                ->select('users1.*,users2.*)                    
                ->get();

关于php - SQL Join 相似列上的原始查询问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37362809/

相关文章:

mysql - 未读计数和分组

php - Magento $collection->join - 多个

sql - Postgres : How to search for a value on _all_ fields in an object in a json-type column without knowing the keys

javascript - 如何限制动态复选框

mysql - SQL : Avg time difference (DD:MM:HH:SS) between two dates

php - 使用 php 在 mysql 中搜索逗号分隔值

php - 如何在库 codeigniter 上调用私有(private)方法

mysql - 使用 Perl/DBI/MySQL/InnoDB 查找外键信息

php - 在 mysql 中创建一个更长的唯一自动增量列,第一行有 6 个字符

php - 如何通过PHP检查MySQL中没有空格的字符串