如何在for循环内的对象内创建对象?这就是我所拥有的,我希望能够在每次for循环发生时向该对象添加另一个条目,但是每次都增加一个数字
for ($i = 0; $i <= $question->rank; $i++) {
$question->opciones = [
'id' => $i,
'option' => $i
];
}
我希望在$question
内看起来像这样
{
"id":4,
"question":"question?",
"user_id":1,
"survey_section_id":2,
"response_type_id":3,
"optional":0,
"num":null,
"rank":6,
"show_text":1,
"created_at":"2019-12-10 08:22:37",
"updated_at":"2019-12-10 08:22:37",
"opciones":[
{
"id":1,
"option":1
},
{
"id":2,
"option":2
},
{
"id":3,
"option":3
},
{
"id":4,
"option":4
},
{
"id":5,
"option":5
},
{
"id":6,
"option":6
}
]
}
当前输出就是这样
{
"id":4,
"question":"question?",
"user_id":1,
"survey_section_id":2,
"response_type_id":3,
"optional":0,
"num":null,
"rank":6,
"show_text":1,
"created_at":"2019-12-10 08:22:37",
"updated_at":"2019-12-10 08:22:37",
"opciones":[
{
"id":1,
"option":1
}
]
}
我在做什么错了?
答案 0 :(得分:1)
您每次都覆盖opciones
属性。
对此进行替换以附加到数组而不是覆盖它:
$question->opciones[] = [
'id' => $i,
'option' => $i
];