2012-07-03 2 views
0

В основном я сделал форму в CakePHP 2.1 с кнопкой JQuery, которая добавляет поле ввода и добавляет счетчик для каждого из вновь созданного ввода следующим образом:CakePHP сохраняет динамические входы в одну строку.

<input type="text" name="data[foo][link]" /> // Original input 
<input type="text" name="data[foo][1][link]" /> // Appended inputs 
<input type="text" name="data[foo][2][link]" /> 
<input type="text" name="data[foo][3][link]" /> 

Мой вопрос, если это возможно, чтобы получить все эти входы сохранить в ту же [foo] [link] таблицу в базе данных (желательно в виде массива)?

Спасибо, кучи.

ответ

2
public beforeSave() { 
    if (isset($this->data['Foo'])) { 
     $this->data['YourModel']['realField'] = serialize($this->data['Foo']); 
    } 
    return true; 
} 

В afterFind() вы возвращаете это с помощью unserialize();

данные [foo] [ссылка] Должны быть данные [foo] [0] [ссылка].

+0

Огромное вам спасибо, просто сообщив, что мне также пришлось изменить входные данные на [model] [field] [0] вместо [model] [0] [field] еще раз спасибо, чувствует себя так хорошо, когда код работает. –