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');
或者更好的是,您可以更高效地使用,并获得相同的结果: