Русскоязычный форум, посвященный фреймворку Kohana http://forum.kohanaframework.su/ |
|
Мне нужно изменить(обновить) запись в БД. http://forum.kohanaframework.su/viewtopic.php?f=33&t=487 |
Страница 1 из 3 |
Автор: | ivanovbl4 [ 04 дек 2012, 08:02 ] |
Заголовок сообщения: | Мне нужно изменить(обновить) запись в БД. |
Мне нужно изменить(обновить) запись в БД. При помощи save() не получается, в место изменения записи добавляется новая. Я делаю форму редактирования. В общем суть в том что нужно в адресной строке ввести id записи и затем содержимое записи загружается в определенные поля формы, содержимое полей нужно изменить и сохранить. Все проходит нормально но только запись не обновляется а просто добавляется новая. В начале метода использую вот это: Код:
Потом еще код для вывода записей из таблицы в поля формы и валидация. А вот сам отрывок кода для изменения записи: Код:
Не пойму в чем дело… ![]() |
Автор: | Zorato [ 04 дек 2012, 21:22 ] |
Заголовок сообщения: | Re: Мне нужно изменить(обновить) запись в БД. |
Такое поведение возможно, когда запись не может быть найдена по id. Попробуйте: Код:
Если увидите данное сообщение, то проверяйте значение Код:
Код:
|
Автор: | ivanovbl4 [ 05 дек 2012, 07:51 ] |
Заголовок сообщения: | Re: Мне нужно изменить(обновить) запись в БД. |
Спасибо что откликнулись. Сейчас буду пробовать то что вы предложили. |
Автор: | ivanovbl4 [ 05 дек 2012, 08:40 ] |
Заголовок сообщения: | Re: Мне нужно изменить(обновить) запись в БД. |
Zorato, попробовал предложенные вами варианты. НЕ помогло. После того как прописал: Код:
Город с id="edit" не найден! И почему здесь "edit"? Не понимаю. Вариант с Код:
Цитата: Если увидите данное сообщение, то проверяйте значение а как проверить это значение?Код:
Цитата: или что-то не так с роутами если проблема с роутами, то как это исправить?
|
Автор: | ivanovbl4 [ 05 дек 2012, 09:37 ] |
Заголовок сообщения: | Re: Мне нужно изменить(обновить) запись в БД. |
Решил выложить скрины, может это поможет быстрее разобраться. Ввожу идентификатор записи в адресную строку, в данном случае 6. Далее открывается форма редактирования с загруженными в поля записями: http://yadi.sk/d/DO3TydP7132S3 После того как нажимаем кнопку сохранить, вылезает это: http://yadi.sk/d/Lq-_laPl132T5 Почему в адресной строке вместо id появляется "edit"? И в $parameters['id'] тоже передается "edit". Может в этом и проблема кроется? Форумчане, пожалуйста помогите, вся надежда на вас. Уже месяц не могу продолжить из-за этого. |
Автор: | AmberLEX [ 05 дек 2012, 14:21 ] |
Заголовок сообщения: | Re: Мне нужно изменить(обновить) запись в БД. |
Так может роуты покажете? Форму, куда отправляется запрос? |
Автор: | ivanovbl4 [ 05 дек 2012, 14:48 ] |
Заголовок сообщения: | Re: Мне нужно изменить(обновить) запись в БД. |
Сейчас сидел и читал урок "Роутинг — Часть 1". До этого я назначение роутов вообще не понимал. А теперь уже имею представление о них и понимаю зачем они нужны. По ходу чтения статьи, поймал себя на мысли, что у меня проблема все-таки с роутами, так как оказалось что у меня только один роут, тот что по умолчанию: Код:
|
Автор: | AmberLEX [ 05 дек 2012, 14:58 ] |
Заголовок сообщения: | Re: Мне нужно изменить(обновить) запись в БД. |
По умолчанию для вашей задачи пока достаточно city - контроллер edit - экшн id - параметр Куда после нажатия форма отправляет данные? <?php echo Form::open(Request::current()) ?> |
Автор: | ivanovbl4 [ 05 дек 2012, 15:34 ] |
Заголовок сообщения: | Re: Мне нужно изменить(обновить) запись в БД. |
Опишу подробнее что у меня имеется. У меня 5 контроллеров: city street house client phone Еще есть шестой контроллер "Welcome". Он был по умолчанию я его не удалял. Я его никак не использую и по сути он мне не нужен. Ну да ладно. Соответственно у меня 5 таких же моделей и 5 представлений с формами редактирования(edit_city, edit_street, и т.д.). В каждом контроллере есть метод "edit()". Вот полностью метод из контроллера city: Код:
|
Автор: | AmberLEX [ 05 дек 2012, 17:38 ] |
Заголовок сообщения: | Re: Мне нужно изменить(обновить) запись в БД. |
Вы не хотите ответить на вопрос?) |
Страница 1 из 3 | Часовой пояс: UTC + 4 часа [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |