在Laravel5.4中为mysql join语句创建一个PHP多维数组,该语句为用户id返回多行

在Laravel5.4中为mysql join语句创建一个PHP多维数组,该语句为用户id返回多行,php,mysql,laravel,laravel-5.4,laravel-query-builder,Php,Mysql,Laravel,Laravel 5.4,Laravel Query Builder,我有一个jobs表,它有一个job id和一些其他东西 工作 id职务职务职务档案 1名软件工程师java开发人员 另一个表可以是job location表 工作地点 id城市工作\u id 1德里1 2孟买1 这里job_location.job_id是jobs.id 现在我想找一份由所有可能的城市组成的工作 我试过了 $job_ids = DB::table('jobs'); $job_ids->where ('jobs.id', $id); $job_ids->join('jo

我有一个jobs表,它有一个job id和一些其他东西

工作 id职务职务职务档案
1名软件工程师java开发人员

另一个表可以是job location表

工作地点 id城市工作\u id
1德里1
2孟买1

这里job_location.job_id是jobs.id

现在我想找一份由所有可能的城市组成的工作

我试过了

$job_ids = DB::table('jobs');
$job_ids->where ('jobs.id', $id);
$job_ids->join('job_location', 'jobs.id', '=', 'job_location.job_id');

$job_ids = $job_ids->get();
现在它给了我两个工作目标,每个城市一个。 输出:

预期结果:

[{"id":1,"job_title":"Job Title Software Developer","job_profile":"Associate Software Developer","city":{"Delhi","Mumbai"}}]
任何帮助都将不胜感激。谢谢


注意:我正在使用laravel query builder

这就是SQL联接在一对多关系中的工作方式:它将在与之匹配的每一行的顶部为jobs表返回一个联接行。可能最简单的方法是单独进行搜索,搜索所有作业位置(作业表中存在作业ID),然后合并结果

Join将始终返回一条记录(但只有一个城市)或多条记录,就像现在一样。你可以使用eloqent关系(它意味着2次选择“在后端”),2次手动选择或选择中选择。我对laravel是新手。你能解释一下吗?
[{"id":1,"job_title":"Job Title Software Developer","job_profile":"Associate Software Developer","city":{"Delhi","Mumbai"}}]