我有一個kohana應用程序,並且我有一個帶有多個複選框的表單,用戶應該在表單中檢查他的偏好。所以我在用戶表和偏好表之間有一個關係1:n。我的問題是,我想保存這些偏好,在表格中選擇,我不知道如何。
我有以下形式:
<form id="address" method="POST" action="<?= Route::url('Save user preferences' , array('user_id' => $user));?>">
<? foreach ($prefered_products as $pp): ?>
<input type="checkbox" name="user_preferences_preference[]" value="<?= $pp ?>" /><?= $pp->product; ?><br />
<? endforeach; ?>
<button type="submit">Salveaza preferintele tale</button>
</form>
和我保存數據:
foreach ($_POST['user_preferences_preference'] as $up) {
$user_preferences->prefered = $up;
$user_preferences->user = $this->user;
$user_preferences->save();
}
$this->view->message = __('Thank you for your feedback!');
但好像我解析喜好的方式是不正確的,我得到:ErrorException [注意] :爲foreach提供的無效參數()
有關如何獲得多個$ _post首選項的任何想法? 謝謝!
這意味着'$ _POST ['user_preferences_preference']'不是一個數組(或一個Traversable)。你嘗試過'var_dump'嗎? – netcoder 2011-06-16 14:23:01
僅當您未選中複選框時纔會發出警告? – Rafe 2011-06-16 14:54:14
使用'$ data = Arr :: get($ _ POST,'user_preferences_preference',array())'或'$ data =(array)$ _ POST ['user_preferences_preference']'。 – biakaveron 2011-06-17 05:34:38