当右侧表中没有记录时,Laravel Left连接返回空结果

时间:2014-07-01 14:49:04

标签: php mysql join laravel left-join

我在使用Laravel语法时遇到问题。我有一个左连接:

$query=DB::table('jobs');
$query->leftjoin( 'attribute_int_data', 'attribute_int_data.job_id', '=', 'jobs.job_id' );

问题是如果attribute_int_data表中没有记录,我就不会从jobs表中获取job_id。

我理解这可能是因为我有两个相同的列名,我需要在其中一个列名中应用别名来获取job_id。

有人可以帮助解决这个问题吗?

干杯。

1 个答案:

答案 0 :(得分:1)

找到解决方案,希望它对某人有用。

我在get中添加了一个数组,在那里我重命名了冲突的job_id列名。

$get_array = array( 
    'jobs.job_id as real_id',
    ...other values...
)

然后,为了实现这一点,当我得到查询时:

$query->get($get_array);

即使右表中没有匹配的记录,我也得到了job_id。