php Indirect modification of overloaded property ... has no effect -- Ошибка при работе с виртуальными свойствами (часто в MVC)

Indirect modification of overloaded property ... has no effect

В моем случае я пытаюсь записать значение в массив.

Причина

Скорее всего вы пишити что-то вроде:

$this->report_ids[] = $report->_id; // добавляем в массив

но при этом у вас нет реального поля report_ids, а используются магические методы _set и _get
-- поэтому когда вы пишите так как выше обращение вида:

$this->report_ids[] 

производит чтение массива, при этом просто возвращается копия значения, далее тут же происходит присваивание, но это присваивание делается для копии, а чем и сообщает интерпретатор.

Решение

Измените код вида (пример для добавления значения в массив):

$this->report_ids[] = $report->_id; // добавляем в массив

на код вида:

$this->report_ids = array_merge($this->report_ids, [$report->_id]);

Key Words for FKN + antitotal forum (CS VSU):