2011-12-22 6 views
0

Я не могу заставить мой класс редактирования работать. Моя проверка достоверна, и когда я использую debug ($ this-> data) после нажатия кнопки редактирования, все отображаемые данные являются идеальными, но не обновляют таблицы.CakePHP SaveAll не работает

Вот мой класс редактирования.

Вот вид.

<?php 

echo $this->Form->create('Bookmark', array(
    'action' => 'edit', 
    'inputDefaults' => array(
     'class' => 'input-text' 
    ) 
)); 
echo $this->Form->inputs(array(
    'legend' => false, 
    'fieldset' => true, 
    'Bookmark.title', 
    'Url.url', 
    'Bookmark.id' => array('type' => 'hidden'), 
    'Url.id' => array('type' => 'hidden') 
)); 
echo $this->Form->button('Edit'); 
echo $this->Form->end(); 

?> 

Я обновил свой класс редактирования, но это еще не исправило мою ошибку. Исправлено это два скрытых поля, которые я добавил в представление.

'Bookmark.id' => array('type' => 'hidden'), 
    'Url.id' => array('type' => 'hidden') 

Не совсем уверен, почему, но я просмотрел некоторые другие виды просмотра в Интернете и попробовал это, и теперь он работает.

ответ

1

Try следуя этой странице: http://book.cakephp.org/2.0/en/models/saving-your-data.html

В Cake 2.0.x вы должны использовать $this->request->data, хотя это, вероятно, не проблема. Вы также увидите, что они не устанавливают идентификатор вручную, но позволяют формам делать это с ними.

Если вы попробуете это, как предлагает книга, и оно все еще не работает, отправьте новую попытку как Изменить на этот вопрос.

+0

Я пробовал это с запросом и читал этот документ несколько раз. Результаты одинаковы с частью запроса или без нее. Когда я удаляю $ this-> Bookmark-> id = $ id; форма останавливает предварительное заполнение полей формы. –

+0

Я также должен добавить, что если я буду использовать save вместо saveAll, он сохранит заголовок, но не Url. SaveAll ничего не сохраняет. –

+0

Вам не нужна эта строка $ id - если да, это ваш первый ключ о том, где может быть проблема. – Dave

0

Каждый раз, когда это случалось для меня, это было связано с ошибкой проверки. Проверьте, нет ли на них ошибки в вычислении

+1

Не нужно эхо здесь. Просто отлаживай. – Loolooii

Смежные вопросы