我在laravel中得到以下输出。
[ {"id":"1","name":"Mite Salary"}, {"id":"2","name":"Riky"}, {"id":"3","name":"Raj"} ]
我想添加另一个年龄段的键值对:person_age并希望输出为
[ {"id":"1","name":"Mite Salary", "age":'20'}, {"id":"2","name":"Riky", "age":'25'}, {"id":"3","name":"Raj", "age":"40"} ]
这个时代来自mysql数据库$y = DB::table("age")->get();
现在考虑$ y = [20,25,40];
但是我没有得到如何使用foreach循环。请帮助我。感谢你的期待
答案 0 :(得分:0)
你正在做的事情不是很好的逻辑,因为你不能知道每个人的年龄,因为人和年龄没有联系如果一个人被删除会发生什么,你会删除相同的id
年龄?你应该做关系:
1)将age_id
添加到您的人员表
2)向Person
模型添加关系
public function age()
{
return $this->belongsTo('App\Age');
}
3)现在使用$person->age->"Name of coulmn"
如果你仍然想这样做,那就是
$i = 0;
foreach($pearsons as $person) {
$person->age = $age[$i]
$i++
}
答案 1 :(得分:0)
实际上我所做的是使用foreach循环:
$x = [ {"id":"1","name":"Mite Salary"}, {"id":"2","name":"Riky"}, {"id":"3","name":"Raj"} ]
在那个foreach循环中我使用了
$x[$x]->age = implode(",",$y[$key]);
最终代码是:
foreach($x as $key => $value) {
$x[$key]->av = implode(",",$y[$key]);
}
答案 2 :(得分:0)
你会做这样的事情。假设你有一组人员
$persons = [
{
"id" : "1",
"name":"Mite Salary"
},
{
"id" : "2",
"name":"Riky"
},
{
"id" : "3",
"name":"Raj"
}
];
foreach ($persons as $person) {
$person['age'] = TableName::where("id","=", "$person->id" )->get('age');
}