我正在尝试向我的对象添加一个新项目但是我收到一个错误:
这是我的代码:
$q = Question::where('id',$id -> id)->first();
$q[]=$q->push('test',5);
dd($q);
以下是此回报:
缺少Illuminate \ Database \ Eloquent \ Model :: setAttribute()的参数2,在 第10231行/home/client/public_html/storage/framework/compiled.php 和定义
知道如何解决这个问题吗?
答案 0 :(得分:0)
根据Laravel doc,
有时您可能希望不仅保存模型,还保存其所有关系。为此,您可以使用
push
方法
因此,push()会尝试对该属性进行预先设定,但它会失败,因为它在模型表中不存在。不使用push()
,而是使用动态属性:
$q->randomAttribute = "value";
我不确定你以后打算如何使用这个属性,也许我可以给你一个更好的答案。