Всем привет друзья!
Мне нужно было реализовать изменение пользовательского поля по user_id
Собственно получить данные этого поля могу при помощи XenForo API
Но если мне нужно сбросить это поле я использую SQL запрос
Оказалась следующая проблема, что в базе данных поле то меняется, но в админке ничего не меняется, как и у самого юзера соответственно.
Поэтому вопрос, есть ли какой-нибудь встроенный метод изменения полей, что б данные сразу обновлялись в админке?
Или как это правильнее реализовать?
На крайняк я конечно могу брать значение тоже по SQL, что бы всегда иметь актуальные данные, но вообще это как то странно, да?
Мне нужно было реализовать изменение пользовательского поля по user_id
Собственно получить данные этого поля могу при помощи XenForo API
PHP:
$user = \XF::finder( 'XF:User' )->where( 'username', $getUsername )->fetchOne( );
$customField = $user->Profile->custom_fields->customField;
Но если мне нужно сбросить это поле я использую SQL запрос
PHP:
$db->query( '
UPDATE xf_user_field_value
SET field_value = ?
WHERE xf_user_field_value.user_id = ?
AND xf_user_field_value.field_id = CAST(0x68776964 AS BINARY)',
[ $newCustomField, $userId ]
);
Оказалась следующая проблема, что в базе данных поле то меняется, но в админке ничего не меняется, как и у самого юзера соответственно.
Поэтому вопрос, есть ли какой-нибудь встроенный метод изменения полей, что б данные сразу обновлялись в админке?
Или как это правильнее реализовать?
На крайняк я конечно могу брать значение тоже по SQL, что бы всегда иметь актуальные данные, но вообще это как то странно, да?