Laravel-如何将模型中项目的一个字段提取到数组中?
我有一个与另一个表有一对多关系的表 将它们称为表Laravel-如何将模型中项目的一个字段提取到数组中?,laravel,Laravel,我有一个与另一个表有一对多关系的表 将它们称为表parent和child child有一个名为field1 我正在尝试获取所有field1值的数组 在parent模型中,我有一个函数,可以获取parent public function children() { return $this->hasMany(Child::class); } 现在,在parent模型中,我还想获得所有field1值 我可以让所有的孩子都这样: $children = $th
parent
和child
child
有一个名为field1
我正在尝试获取所有field1
值的数组
在parent
模型中,我有一个函数,可以获取parent
public function children()
{
return $this->hasMany(Child::class);
}
现在,在parent
模型中,我还想获得所有field1
值
我可以让所有的孩子都这样:
$children = $this->children->all();
但我就是不知道如何索引到这个字段中来获得所有的field1
值
也许最好只使用$this->children
,在这种情况下,它是一个集合
,然后使用某种集合方法来提取字段1
我试过了
$this->children->only(['field1'])
但这并没有返回任何结果,即使field1确实存在
想法
谢谢 map()
是您正在查找的函数
$children=$this->children->all()->映射(函数($children){
返回$children->field1;
});
使用高阶消息的较短版本
$children=$this->children->all()->map->field1;
map()
是您正在查找的函数
$children=$this->children->all()->映射(函数($children){
返回$children->field1;
});
使用高阶消息的较短版本
$children=$this->children->all()->map->field1;
您可以使用获取field1值数组:
$parent->child->pluck('field1');
$parent->child()->pluck('field1');
或者更好的是,您可以更高效地使用,并获得相同的结果:
您可以使用获取field1值的数组:
$parent->child->pluck('field1');
$parent->child()->pluck('field1');
或者更好的是,您可以更高效地使用,并获得相同的结果: