Notice:Indirect modification of overloaded element of app\api\model\Post has no effect
问题代码:
首先,这个问题与实现ArrayAccess的所有类有关,它不是具体Post类的一个特殊问题。
当您使用[]运算符从Post访问元素时,它的行为与数组不完全相同。在内部它的offsetGet()方法被调用,并将在你的情况下返回数组 – 但不返回该数组的引用。这意味着您对$data['comment']所做的所有修改都将丢失,除非您将其保存回来。
解决方法:
新建一个变量存放$data['comment'],在遍历赋值结束后,将变量值覆盖$data['comment']。
$cur = $data['comment'];
foreach($cur as $k=>$v){
}
$data['comment'] = $cur;
来源:oschina
链接:https://my.oschina.net/u/4428492/blog/3214541