【发布时间】:2017-04-06 03:02:26
【问题描述】:
有没有什么方法可以从多维集合中移除属性?
例如我有
public function getPossibleAnswersAttribute()
{
return collect([
[
'option' => 'A',
'answer' => $this->answer_1,
'points' => $this->answer_1_value
],
[
'option' => 'B',
'answer' => $this->answer_2,
'points' => $this->answer_2_value
],
[
'option' => 'C',
'answer' => $this->answer_3,
'points' => $this->answer_3_value
],
[
'option' => 'D',
'answer' => $this->answer_4,
'points' => $this->answer_4_value
]
]);
}
public function getPossibleAnswersWithoutPointsAttribute()
{
$answers = $this->getPossibleAnswersAttribute()
->except(['0.points']);
return $answers;
}
我正在尝试获取相同的集合,但没有积分键/属性。
我知道我可以这样做
->map(function ($item) {
unset($item['points']);
return $item;
});
但是我希望有一种更流畅的方式来做到这一点,因为我发现我可以做到 ->except(['0.points']); 将它从第一个删除,我在想是否有一个神奇的关键字,它算作一个关键?类似于->except(['#.points']);,所以它对每个人都这样做?
【问题讨论】:
标签: php laravel multidimensional-array collections except