@Konstantin78

[kohana] Как лучше поступить при сохранении записи?

Доброе время суток уважаемые форумчане:
Для получения данных в форму редактирвания я использую:
$main_dep = DB::select('main_dep_id')
                        ->from('departments')
                        ->where('id', '=', $id);
$one_department_o1 = ORM::factory('department')
                                ->where('id', '=', $id)
                                ->or_where('id', '=', DB::expr('('.$main_dep.')'))
                                ->find_all();

Результат действия (2 строки) в $one_department_o1:
Database_MySQL_Result Object ( [_internal_row:protected] =>…

Я получил необходимую информацию в окно редактирования.

Но если я хочу сохранить изменения в окне (нажать кнопку "Сохранить"), то я должен для установки значений использовать метод «values» (в «ORM»)
(н-р:
$data = Arr::extract($_POST, array('abbreviation', 'name', 'user_id', 'main_dep', 'status',));
$one_department_o1->values($data)).

Но так как в " …\Database\Result.php" этого метода ни кода не было, то компилятор выкидывает ошибку:
Call to undefined method Database_MySQL_Result::values()

Вопрос:
Т.е.
Если пользователь захочет отредактировать запись, как вариант, при нажатии кнопки «Сохранить», мне нужно будет, создать другую модель?
…
if ($this->request->post())    
        {
	$one_department_o2 = ORM::factory('department', $id);
            $data = Arr::extract($_POST, array('abbreviation', 'name', 'user_id', 'main_dep', 'status',));
            $one_department_o2->values($data);
…
  • Вопрос задан
  • 2320 просмотров
Пригласить эксперта
Ответы на вопрос 1
$one_department_o2->abbreviation = $data['abbreviation'];
...
$one_department_o2->save();

а так работает?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы