#php #codeigniter
Вопрос:
Я купил сценарий. А вот исходный код:
public function delete_user($user_slug = null)
{
empty($user_slug) and show_404();
flash_message(
'dashboard/login',
is_login(),
'unsuccess',
'Please Login Then Try Again'
);
$user = $this->UsersModel->updateTable([
'status' => '3',
], ['slug' => $user_slug]);
flash_message(
'list/users',
$user,
'unsuccess',
"Something Went Wrong"
);
flash_message(
'list/users',
$user,
'success',
"User Deleted Successfully"
);
}`
Как вы можете видеть, эта функция изменяет статус пользователя на «3» для удаления пользователя. Но я не хочу ничего менять. Я хочу добавить число поверх уже существующего значения.
Например, каждый раз, когда функция запускается, я хочу изменить предыдущее значение «3» на «3 1». Если значение уже равно «4», я хочу изменить его на «4 1». Короче говоря, вместо изменения значения я хочу добавлять число к существующему значению каждый раз при запуске функции.
Я пытался:
$user = $this->UsersModel->updateTable([
'status' => status 1,
но это не работает. Вы не могли бы мне помочь?
Комментарии:
1. Просто отойдите на шаг назад на мгновение. Почему вы хотите увеличить поле «статус» таким образом? Состояние обычно указывает на конкретное состояние, в котором находится запись. Если вы просто увеличите его, не зная, каков был предыдущий статус, как вы можете быть уверены, что получите правильный статус после обновления? Может быть, вы (неправильно)используете это поле для чего-то другого?
2. Я буду использовать его для чего-то другого, дублируя функцию. Поэтому я не буду касаться этой функции.
3. Вам нужно получить значение поля статуса с помощью модели пользователя. Поскольку мы не знаем вашего кода, нам довольно сложно помочь в дальнейшем.
4. Что это за версия Codeinter? Потому что решение немного отличается от версии 3 до версии 4.
5. Это Codeigniter 3.1.11, я могу поделиться UsersModel.php тоже