我有这个雄辩的问题:
Person::with('mother','father')->find(1);
此结果输出:
[
{
id: "1",
name: "John",
mother_id: "4",
father_id: "5"
mother: {
id: "4",
name: "Sarah"
mother_id: "10",
father_id: "20"
},
father: {
id: "5",
name: "Tony",
mother_id: "21",
father_id: "32"
}
}
]
但我想得到这样的东西:
[
{
name: "John",
mother: "Sarah",
father: "Tony"
}
]
使用Array和Collection方法实现此目的的最佳方法是什么?如果有一种方法可以通过Eloquent实现这一目标,那就更好了。
答案 0 :(得分:0)
我在最近的一个项目上做了类似的事情,改编如下:
$person = Person::with('mother','father')->find(1);
$arrPerson = $person->toArray();
$arrPerson['mother'] = $person->mother->name;
$arrPerson['father'] = $person->father->name;
如果你只想要那些指示你可以扩展它以清除其他元素。