首页 > 解决方案 > 如何将数组中的值附加到另一个数组中的另一个键

问题描述

我正在使用 laravel 查询生成器从数据库中获取数据,但我需要的只是基于 php。

这是一些代码:

$data = DB::select('SELECT * FROM news ORDER BY created_at DESC'):
foreach ($data as $rows) {
    $teacher = DB::select('SELECT name FROM teachers WHERE id = ?', [$row->teacher_id]);
    $data->teacher = $teacher; 
}
return $data;

$data 变量具有以下数组:

array:4[
    0 => {
        "id":3
        "teacher_id": 2
    }
    1 => {...some similar keyvalue pairs}
    2 => { ...another key-value pairs}
]

所以问题是我希望将数据库中的教师姓名附加到每个 $data数组迭代中,方法是使用idfrom each $dataiteration 从第二个查询中获取教师姓名。

有人得到这个吗?

标签: phparrayslaravel

解决方案


您可以使用单个查询来解决此问题..

SELECT news.*, teachers.name 
FROM news
INNER JOIN  teachers where teachers.id = news.teacher_id
ORDER BY created_at DESC

推荐阅读