это вообще реально на прямую из экшена ?
или по логике MVC надо обязательно в модели писать свой метод,
а уже из экшена обращаться к нему?
Пишу в экшене:
$this->update($table_name, $id, $item);
$this->model->update($table_name, $id, $item);
$this->update($table_name, $id, $item);
$this->model->update($table_name, $id, $item);
$this->model->update($table_name, $id, $item);
Я правильно понимают что в $item должен быть ассоциативный массив,Но тут есть нюанс. Чему равно $table_name и что находится в $item.
Можно в цикл запихнуть, можно в один запросА как быть если надо сразу обновить значения у 20-50-100 итемов?
Запихнуть все в цикл и повторять сотню запросов?
Или есть метод который это сделать в один запрос?
$where = 'user_id = 123'; $this->model->db->update($table, $where, $item);
Так было бы правильней. Если позже Вы измените структуру, тип, размер, имя каких-то данных, то если сейчас сделать без учёта MVC, потом придётся просматривать все экшены и вносить правки в них, а это увеличивает вероятность ошибок. А если при изменениях в данных впоследствии нужно будет ещё и пересчитывать какие-то другие связанные данные, то выносить работу с ними за пределы модели вообще губительно.по логике MVC надо обязательно в модели писать свой метод
Не совсем понятно написано.А как быть если надо сразу обновить значения у 20-50-100 итемов?
$this->model->filterEqual('user_id', 123); $this->model->updateFiltered($table, $item);