这是我尝试做的事情:
$q = Question::where('id',$id -> id)->get();
$q[] = $q->push([ 'test' => true]);
dd($q);
这将输出:
Collection {#220 ▼
#items: array:3 [▼
0 => Question {#225 ▶}
1 => array:1 [▼
"test" => true
]
2 => null
]
}
因此'test' => true
会附加为新密钥,但我想将其插入Question
,因此我可以使用foreach $q -> test
所以这就是我想要访问item的方式:
@foreach($q as $qq)
{{ $qq->test }}
@endforeach
答案 0 :(得分:20)
可以使用Eloquent Model(https://github.com/illuminate/database/blob/master/Eloquent/Model.php)的 setAttribute()功能来完成。
您可以看到它使用 setAttribute()将数据存储在 protected $ attributes 中,当我们执行 $ SomeModel-> some_field 时,它会使用魔法方法 __ get()从属性数组中按关联检索项目。
以下是您的问题的解决方案:
$Question = Question::find($id);
$Question->setAttribute('test', 'blablabla');
答案 1 :(得分:3)