带有 & 符号未定义属性的 Laravel 集合

问题描述

我正在dd创建一个集合,因为我在查找对象上的属性时遇到问题:

dd($this->plan);

输出

Illuminate\Support\Collection {#5314
  #items: array:3 [
    "ageRange" => "Under 18"
    "goal" => null
    "duration" => & "Indefinitely"
  ]
}

我正在寻找此对象上的属性 duration,但是当我点击:$plan->duration 时,我收到以下错误

dd($this->plan->duration);

我收到以下错误

Property [duration] does not exist on this collection instance.

我相信这与此 & 有关,但我不确定它为什么在那里或从哪里来

解决方法

那是一个数组,而不是集合内的对象。尝试 $this->plan->get('duration')$this->plan['duration']


正如 @Peppermintology 评论中的问题/答案所指出的,这是因为 'duration' 键是通过引用设置的。为了说明这一点,以下是在 tinker 控制台中重现行为的快速方法:

enter image description here

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...