简体   繁体   English

在laravel 5.4中为mysql join语句创建一个PHP多维数组,该数组返回一个用户ID的多行

[英]create a PHP multidimensional array in laravel 5.4 for the mysql join statement which which return multiple row for a user id

I have a jobs table, which has a job id and some other stuff 我有一个工作表,上面有工作ID和其他一些东西

jobs 工作

id job_title job_profile id job_title job_profile
1 software engg java developer 1位软件工程师Java开发人员

and another table could be job location table 另一个表可能是工作位置表

job_location 工作地点

id city job_id id城市job_id
1 Delhi 1 1德里1
2 Mumbai 1 2孟买1

Here job_location.job_id is the jobs.id 这里job_location.job_id是jobs.id

Now I want to fetch a job consisting of all the possible city. 现在,我想获取一份包含所有可能城市的工作。

I tried 我试过了

$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();

Now its giving me two object of jobs, one for each cities. 现在,它给了我两个工作目标,每个城市一个。 Output: 输出:

[{"id":1,"job_title":"Job Title Software Developer","job_profile":"Associate Software Developer","city":"Delhi"},{"id":1,"job_title":"Job Title Software Developer","job_profile":"Associate Software Developer","city":"Mumbai"}]

Expected Result: 预期结果:

[{"id":1,"job_title":"Job Title Software Developer","job_profile":"Associate Software Developer","city":{"Delhi","Mumbai"}}]

Any help would be appreciated. 任何帮助,将不胜感激。 Thanks 谢谢

Note: I am using laravel query builder 注意:我正在使用laravel查询生成器

That's how an SQL join works for a one to many relationship: it will return a joined row for your jobs table on top of every row it matches with. 这就是SQL联接用于一对多关系的方式:它将在与之匹配的每一行的顶部返回作业表的联接行。 It's probably easiest to just have a separate search where you search for all job_locations that have job ids that exist in the jobs table and then combine the results 仅进行单独的搜索可能是最简单的,在该搜索中搜索具有Jobs表中存在的工作ID的所有job_location,然后合并结果

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM