【发布时间】:2017-06-01 07:55:48
【问题描述】:
我有一个工作表,其中有一个工作 ID 和其他一些东西
工作
id job_title job_profile
1 名软件工程师 java 开发人员
另一个表可以是工作地点表
工作位置
id 城市 job_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"},{"id":1,"job_title":"Job Title Software Developer","job_profile":"Associate Software Developer","city":"Mumbai"}]
预期结果:
[{"id":1,"job_title":"Job Title Software Developer","job_profile":"Associate Software Developer","city":{"Delhi","Mumbai"}}]
任何帮助将不胜感激。谢谢
注意:我使用的是 laravel 查询生成器
【问题讨论】:
-
加入将始终返回一条记录(但只有一个城市)或更多记录,就像您现在一样。您可以使用 eloqent 关系(这意味着 2 次选择“在后端”)、2 次手动选择或在选择中选择。
-
我是 laravel 的新手。你能解释一下吗?
标签: php mysql laravel laravel-5.4 laravel-query-builder