php - 如何将数组中的值附加到另一个数组中的另一个键
问题描述
我正在使用 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
from each $data
iteration 从第二个查询中获取教师姓名。
有人得到这个吗?
解决方案
您可以使用单个查询来解决此问题..
SELECT news.*, teachers.name
FROM news
INNER JOIN teachers where teachers.id = news.teacher_id
ORDER BY created_at DESC
推荐阅读
- javascript - 是否可以使用带有另一个 js 变量值的 js setProperty 更改 css 变量?
- sql-server - 如何只选择一列
- r - 将某些年份分配给 R 中的数字
- android - Kotlin 错误无法削弱“valueformelement”中“value”的访问权限“public”
- asp.net-core - AspnetCore RazorPage 返回原始字符串?
- javascript - 如何从 .txt 文件中读取数据并将数据转换为整数?
- python - 在 Python 中对单个数组进行更快的双重迭代
- c# - WPF - 避免在 RichTexBox 上的文件加载时触发 TextChanged 事件
- python - 如何使用 PySNMP 指定 auth/priv 密钥而不是密码短语?
- ruby-on-rails - 如何为acts_as_votable嵌套资源编写link_to?