Не сохраняется профиль пользователя

Добрый день.
Пытаюсь обновить некоторые поля пользователя, но почему-то ничего не обновляется. Подскажите, где я ошибся?

$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"

}
Андрей
13 января 2016, 07:47
modx.pro
799
0

Комментарии: 1

Андрей
13 января 2016, 11:43
1
+1
Как оказалось, все можно решить гораздо более простым способом.
За подсказку в решении вопроса отдельное спасибо пользователю Володя.
Вот правильный и короткий код:

$id = 1;
if ($User = $modx->getObject('modUser', $id) AND $Profile = $User->getOne('Profile')) {
    	$Profile->set('comment', 'comment');
	$Profile->set('zip', 'zip' );
	$Profile->save();
}
    Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
    1