Не сохраняется профиль пользователя
Добрый день.
Пытаюсь обновить некоторые поля пользователя, но почему-то ничего не обновляется. Подскажите, где я ошибся?
Пытаюсь обновить некоторые поля пользователя, но почему-то ничего не обновляется. Подскажите, где я ошибся?
$id = 11;
$dates = '2016-01-26 20:00:00';
$comment = 'Новый коммент';
$q = $modx->newQuery('modUser');
$q->setClassAlias('User');
$q->innerJoin('modUserProfile', 'Profile');
$q->select('User.id,Profile.fullname,Profile.comment,Profile.zip');
$q->where(array(
'User.id' => $id,
));
$users = $modx->getCollection('modUser', $q);
foreach ($users as $user) {
$user->set('comment', $comment);
$user->set('zip', $dates );
echo $user->comment;
echo $user->zip;
//Здесь он все правильно выводит - новые значения.
$user->save();
// А здесь имеем ошибку "Attempt to save lazy object"
}
Комментарии: 1
Как оказалось, все можно решить гораздо более простым способом.
За подсказку в решении вопроса отдельное спасибо пользователю Володя.
Вот правильный и короткий код:
За подсказку в решении вопроса отдельное спасибо пользователю Володя.
Вот правильный и короткий код:
$id = 1;
if ($User = $modx->getObject('modUser', $id) AND $Profile = $User->getOne('Profile')) {
$Profile->set('comment', 'comment');
$Profile->set('zip', 'zip' );
$Profile->save();
}
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.