【Model】
class Model_Input extends Model { public static function get_style() { $result = DB::select('id','name')->from('_Style')->execute(); return $result; } }
DBは、mySQLでこのように抽出しています。
抽出件数は4件になります。
【View】
<?php echo Form::label('スタイル', 'style', array('class' => 'col-sm-2 control-label')); foreach ($get_style as $key => $val) { $retStt = (Session::get_flash('style.n'.$key) === $val['id']) ? "checked" : null ; echo '<label class="checkbox-inline"><input type="checkbox" id="inlineCheckbox1" name="style[n'.$key.']" value="'.$val['id'].'" '.$retStt.'>'.$val['name'].'</label>'; } ?>
foreach文で抽出したデータを取り出しているところです。
Modelで抽出したデータでチェック項目を生成しています。
Session::get_flash でセッション配列が存在したらCheckedを追加するようにしています。
【Controller】
class Controller_Input extends Controller_Base { // 入力フォームで取り扱うフィールドを配列として設定 private $fields = array('style.n0','style.n1','style.n2','style.n3'); public function action_index() { // フォームのsubmitボタンを押された時 if (Input::post('submit')) { // postされた各データをフラッシュセッションに保存 foreach ($this->fields as $field) { Session::set_flash($field, Input::post($field)); } } $data = array(); return View::forge('index',$data); }
$fields へチェックボックスの個数分配列を設定しています。
ここまで問題なく動作しますが、$fields への配列の設定はこのような表記で問題ないでしょうか?
ベストな設定方法がありましたらご教示お願いします。
又、ViewでCheckbox生成を Form::input で行いたかったのですが中々上手くいかず
どのようにしたら簡潔に済むでしょうか?
FuelPHPを使用して7日目になり初歩的な質問なのかもしれませんが
恐れ入りますがご教授の程どうぞ宜しくお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/08/21 01:55