Form
Form::openで直接メソッドを指定する。 {{ Form::open(['action' => ['UserController@change', $user->id]]) }} {{ Form::close() }}これにはroute.phpへの記述も必要。 Route::post('user/change', 'UserController@change');
Laravel4で自作メソッドにidを渡す。 Viewの書き方 {{ Form::open(['action' => ['JisakuController@insert',$jisaku->id]) }} routes.phpの書き方 Route::post('jisakus/{id}/insert', 'JisakuController@insert') コントローラーの書き方 public function …
Laravelでデータを削除するときのForm::openの書き方 {{ Form::open([ 'route' => ['comments.destroy',$comment->id], 'method' => 'delete', 'class'=>'form-horizontal' ]) }} <p><button type="submit" class="btn-u btn-u-blue">DELETE</button></p> {{ Form::close() }}
Form::modelでMethodNotAllowedHttpExceptionのエラーが発生する場合は、methodの設定間違いの可能性がある。「'method' => 'PUT'」を足したら直った。 {{ Form::model( $task, ['route' => ['tasks.update', $task->id], 'role'=>'form', 'method' => 'PUT'…
Formのselectを使うときに、そのvalueはConfigから持ってくることが多い。私の場合は以下のようにしている。 {{ Form::select('movies[]', Config::get('movies.title'), $movies , ['multiple' => true,'data-rel'=>'chosen','class'=>'span12']) }}
php - Laravel use same form for create and edit - Stack Overflow 上記に書いてあった方法だけど、@if(isset($user))で分岐させればいいのか。私は共通部品だけ別ファイルで抽出して@includeさせていた。それとリンク先に書いてあったInput::old()という…
Form::textにautofocusを設定する方法は以下のとおり。 Form::text('username',null,['autofocus'=>'autofocus'])
Form::checkboxでチェック無しの時はInput::get('iam')は0ではなくて無になる。0を渡したい時はhiddenを埋め込んでおく。 {{ Form::hidden('iam', 0) }} {{ Form::checkbox('iam',1) }} ご本人ですか?
Form::openからメソッドを指定する。 {{ Form::open(['action' => ['UserController@change', $user->id]]) }} {{ Form::close() }}
例えば以下のようなチェックボックスをLaravelのFormで作りたいときは <input class="iphone-toggle" data-no-uniform="true" name="doit" type="checkbox" value="1">このようにする。 {{ Form::checkbox('doit',true,[],['class'=>'iphone-toggle','data-no-uniform'=>'true']) }}
Form::selectはlistsメソッドを使えば一行で書ける。コントローラ側 $lists = Movie::lists('title', 'id');ビュー側 {{ Form::select('director_id', $lists, null, ['data-rel'=>'chosen']) }}もしくはコンフィグファイルを使ってもよい。コンフィグファイ…
新規作成のとき {{ Form::open(['route' => 'artist.store','class'=> 'form-horizontal']) }}更新のとき {{ Form::model($artist, ['method' => 'put', 'route' => ['artist.update', $artist->id],'class'=> 'form-horizontal']) }}
Form::modelからControllerのdestoryを呼び出したい。 例えばYasaiControllerのdestoryを呼び出す場合のViewは以下のようにする。2行目の「'method' => 'delete'」を忘れてドツボにハマった。 {{ Form::model($yasai,[ 'method' => 'delete', 'route' => ['y…
Form::modelを使う場合は、既に入っている値を自動的に取得してくれるので便利。注意するのは初期値を指定するときはnullにすること。 {{ Form::model($title,[ 'method' => 'put', 'route' => ['title.update',$title->id], 'class' => 'form-horizontal' ]…
Formでselect書くときはこうするのか。 {{ Form::select('bunrui', ['PHP', 'Perl', 'Ruby'], 'PHP',['data-rel'=>'chosen']) }}以下のように出力される。 <select data-rel="chosen" name="bunrui"> <option>PHP</option> <option>PHP</option> <option>Perl</option> <option>Ruby</option> </select>
Blade側でFormをModelと一致させる。 {{ Form::model($title,[]) }}そうするとController側でこういう書き方ができて楽。 $title = Title::find($id); $inputs = Input::all(); $title->update($inputs);
Form::openでメソッドとは違うURLの要素を使いたいときは以下のようにする。 {{ Form::open(['action' => 'VoteController@reset','url'=>'delete']) }}出力はこうなる。 <form method="POST" action="http://localhost/delete" accept-charset="UTF-8"></form>
Formのinputにhidden属性を持たせたいときは、Form::hiddenを使う。 {{ Form::hidden('phone', '090-555-12345') }以下のように出力される。 <input name="phone" type="hidden" value="090-555-12345">
FORMのアクションに自作のメソッドを指定するとき、blade側はこれだけでいい。でも実行すると「form open Unknown action」というエラーメッセージが出る。 {{ Form::open(['action' => 'TitleController@release']) }}この場合はroute.phpにもメソッドを指…
LaravelのForm::textareaやForm::textにclass要素を持たせたいときは、3番目の引数に配列として渡す。ちなみに2番目は初期値になる。ここでは適当にnullでも渡しておく。 {{ Form::textarea('description',null,['class'=>'form-control','rows'=3]) }} {{ F…
blade上でHTMLタグにclassを設定したいときは、配列として渡す。例えばLaravelのFormにclass「form-horizontal」を渡すときは以下のようになる。 {{ Form::open(array('route' => array('hello.store'), 'class' => 'form-horizontal')) }}