Задать вопрос
@WotanWeb

Почему в modx не работает метод save() для существующего объекта?

Все привет! Подскажите, пожалуйста, почему метод save() не работает для существующего объекта, хотя для нового - работает?
Пробую так:
$test = $modx->getObject('LjValues', ['order_id' => 3, 'field_id' => 1]);
echo $test->get('value');
$test->set('value', "тестовый тест");
if($test->save() === true){
    echo $test->get('value');
}

И всё как бы отлично, выводит сначала старое значение, потом в $test->save() === true, выводит новое значение. Но в базе остаётся старое, лог молчит.

Схема:
<object class="LjValues" table="lj_values" extends="xPDOSimpleObject">
	<field key="field_id" dbtype="int" precision="11" phptype="integer" null="false" />
	<field key="value" dbtype="varchar" precision="191" phptype="string" null="false" />
	<field key="order_id" dbtype="int" precision="11" phptype="integer" null="false" />
	<aggregate alias="LjFields" class="LjFields" local="field_id" foreign="id" cardinality="one" owner="foreign" />
	<aggregate alias="LjOrders" class="LjOrders" local="order_id" foreign="id" cardinality="one" owner="foreign" />
</object>
  • Вопрос задан
  • 68 просмотров
Подписаться 1 Простой 1 комментарий
Решения вопроса 1
@WotanWeb Автор вопроса
Боже, я не знаю почему, но LjValues - плохое название. Просто переименовал в LjFieldvalue - всё изумительно.
И таблицу в modx_lj_fieldvalue.

xPDO, я люблю тебя.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы