У меня есть столбец типа объект в модели. Но если я загружаю модель и изменяю свойство объекта, а затем повторно сохраняю, кажется, что этот объект не сериализуется повторно. например,
$model_instance = $table->find(1);
$object = $model_instance->object_column;
$object->someProp = 'new value';
$model_instance->save(); //has no effect
Я думаю, это потому, что он проверяет модификацию, сравнивая старые и новые значения, используя !==
, который возвращает false, потому что они обе являются ссылками на один и тот же объект.
Я мог бы клонировать объект перед сохранением, но, очевидно, должен быть более очевидный способ, который я пропустил.