ふたりはララベル (Laravel PHP Framework)

PHPフレームワークのLaravelの体験記を書いていきます。こんなタイトルのブログですが萌え系アニメは一秒たりとも観たことがありません。

Eloquent

takeメソッドの引数に数字以外を指定して全件取得する

データベースからの取得件数を指定するtakeメソッドだけど、数字じゃなくてallを指定すれば全件取得できる。例:2014年に一致する全データを取得する $take = 'all'; $titles = Title::where('year', '=', 2014)->take($take)->get(); もちろん$takeに数字を…

DBをEloquent上で結びつける

二つのテーブルがあって、それを結合のように繋げて情報を採取したいときがある。例えばtitleとcharacterという二つのテーブルがある。そのときcharacterを参照するだけで、自動的にtitleからマンガの名前を持って来たい。titleテーブル idname 1ONE PIECE 2…

Eloquentで上位10件を取得する

$comments = Comment::orderBy('id', 'DESC')->take(10)->get();

Eloquentでcreateするときは割り当て許可が必要

Eloquentでcreateするときは保護が必要何も設定せずにEloquentでcreateするとエラーが出る。【コントローラ側】 Comment::create(array('year' => 2013)); 【エラーメッセージ】 Illuminate \ Database \ Eloquent \ MassAssignmentException yearEloquentで…

EloquentでwhereRawを使う

Eloquentのwhereは複数条件が書けない。 $users = User::where('votes', '>', 100)->get();複数条件を書きたい場合はwhereRawを使う。SQL文のwhere句をそのまま書けばよい。 $users = User::whereRaw("votes > 100 and section = $section")->get();