[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
DB::transaction(function() { $row = App::make('DbTable')->find(1); $row->value = 'hoge'; $row->save(); });
良い点: なんとなく直感的。
悪い点: クロージャーの中に値を渡すのが面倒。
use($var) で渡す変数をオブジェクトなり、配列なりにして必要な値を全てまとめれば良いような気もする。そもそも、クロージャーの使い所がいまいち理解できていない。DB::beginTransaction();
DB::commit();
DB::rollback();
DB::beginTransaction(); try { $row = App::make('DbTable')->find(1); $row->value = 'hoge'; $row->save(); DB::commit(); } catch (Exception $e) { Log::error($e); DB::rollback(); }
良い点: 柔軟に記述できる。
悪い点: 明示的に記述しなければいけないのが若干面倒。
Schema::create('t_action', function(Blueprint $table) { $table->engine = 'InnoDB'; //もしくはMyISAM //...その他カラム定義など });ストレージエンジンの設定をミスしていても割と気づかない事が多いので、
$rules = [ 'email' => 'required|email|unique:users,email', 'password' => 'min:8', ];デフォルトで英語のエラーメッセージが出力されます。
$messages = [ 'required' => ':attribute は必須項目です。', 'unique' => ':attribute に使用済みの値が指定されました。', 'min' => ':attribute は :min文字以上入力してください。', ];
//入力値を取得 $input_params = Input::all(); //バリデーション $validator = Validator::make($user_inputs, $rules, $messages); //バリデーションエラーの有無を確認 if ($validator->fails()) { //エラーをフラッシュセッションにセットして、入力画面に戻る・・・・ Redirect::to('path/to/input')->withErrors($validator); }
@foreach ($errors->all() as $message) {{{$message}}} @endforeach