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

标签 php mysql laravel laravel-5.4 laravel-query-builder

我有一个工作表,其中有一个工作 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 查询生成器

最佳答案

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

关于php - 在 laravel 5.4 中为 mysql join 语句创建一个 PHP 多维数组,该数组为用户 id 返回多行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44301723/

相关文章:

php - 将遗留 html 表格设计导入 div 布局

php - 使用基于图像的点击计数器获取访客信息

php - 如何在laravel中提交后在下拉列表中保留选定的值

laravel - 查找过去 24 小时内帖子最高的用户,laravel Eloquent

javascript - 从 MySQL 加载数据到 Highchart 并以适当的方式显示

php - 为什么我会收到 Laravel 4 错误 : "User must implement Remindable interface"

php - INSERT INTO ... ON DUPLICATE KEY UPDATE 无法正常工作

php - 如何进行依赖于~真实~ POST/GET 数据的 PHPUnit 测试?

iphone - 如何在核心数据中执行此 MySQL 查询?

mysql - 包含 2 个结果集的 SQL 查询