WinRoadのLaravel4初心者講座

次世代PHPフレームワークのLaravel4を初心者向けに解説して参ります。

Winroad徒然草の管理人がお届けします
ドロップダウンリストの生成

ドロップダウンリストの生成

このエントリーをはてなブックマークに追加

Form::selectメソッドで、ドロップダウンリストを生成することができます。

Fome::select(フィールド名,リストの配列,初期値)

Form::selectメソッドは、第1引数にフィールド名、第2引数に、リストの配列を指定します。第3引数はオプションで、選択済みの初期(デフォルト)値を指定することができます。

それでは、実例をご紹介しましょう。まず、コントローラから値をビューファイルに引き渡します。

public function getIndex(){
 $roles=Role::lists('name','id');
 return View::make('home.index',compact('roles'));
 }

ビューファイルでドロップダウンリストから選択して、データを送信します。

{{Form::open()}}
 <p>Roleを選択してください</p>
 {{Form::select('role',$roles)}}
 {{Form::submit('送信')}}
 {{Form::close()}}

2014-06-07 0-36-45

受信したデータは下記のように表示されます。

public function postIndex(){
 return var_dump(Input::all());
 }

2014-06-07 0-39-47

グループ分けしたリストを表示

データを多重配列にすることで、グループ分けのリストを生成することができます。

それでは、実例をご紹介します。まず、コントローラからデータをビューに引き渡します。

public function getIndex(){
 $animal=['Cats'=>['leopard'=>'Leopard'],
 'Dogs'=>['sppaniel'=>'Spaniel']];
 return View::make('home.index',compact('animal'));
 }

ビューファイルのリストは下記のようになります。

@extends('layout')
 @section('content')
 {{Form::open()}}
 {{Form::select('animal',$animal)}}
 {{Form::submit('送信')}}
 {{Form::close()}}
 @stop

2014-06-09 10-45-54

受信したデータは下記のようになります。

public function postIndex(){
 return var_dump(Input::all());
 }

2014-06-09 10-54-25

selectRange(フィールド名,開始数値,終了数値)

selectRangeメソッドを使用すると数値の範囲を指定して、ドロップダウンリストを生成することができます。

selectRangeメソッドの第1引数には、フィールド名、第2引数には、開始数値、第2引数には終了数値を指定します。

{{Form::open()}}
 {{Form::selectRange('number',10,20)}}
 {{Form::submit('送信')}}
 {{Form::close()}}

2014-06-09 11-04-07

尚、開始数値が、終了数値より大きければ、数値が降順で表示されます。

selectMonth(フィールド名)

selectMonthメソッドを使用すると、月名のリストを生成します。

@extends('layout')
 @section('content')
 {{Form::open()}}
 {{Form::selectMonth('month')}}
 {{Form::submit('送信')}}
 {{Form::close()}}
 @stop

2014-06-09 11-10-51

尚、受信したデータはそれぞれの月に応じた数値です。

public function postIndex(){
 return var_dump(Input::all());
 }

2014-06-09 11-14-05

※上記のようにJanuaryを選択すると、数値の1を取得しますし、Decemberを選択すると数値の12を取得します。

« »

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です