Php 如何将数组中的值附加到另一个数组中的另一个键

Php 如何将数组中的值附加到另一个数组中的另一个键,php,arrays,laravel,Php,Arrays,Laravel,我使用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->tea

我使用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
迭代中的
id
从第二个查询中获取教师姓名,附加到每个
$data
数组迭代中


有人知道吗?

你可以用一个查询来解决这个问题

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

您需要遵循文档,这样您就可以关联您的模型并加载所需的数据,而不必在loop@BalogunGbenga如果我的答案是正确的,请(过去15分钟)将其标记为已接受…看看这里如何