エンジニアの卵_level5

【毎日更新!】エンジニアの卵のブログです!技術以外も書いたり。

Laravel

LaravelのsortByとorderByの使い所【84日目】

sortByとorderByの違いって? sortBy()の使い所は、コレクションをソートする時に使います。 orderBy()はwhere()とかと同じで、データベースから取得する時に使います。 使い方の違い $query->get()->sortBy('id'); $query->orderBy('id')->get(); この2つの…

Laravelで『ページ3』や『次へ』や『前へ』というページネーションの作り方【77日目】

参考 ペジネーション 5.1 Laravel 手順 ControllerでpaginateをつかってDBからデータ取得。 Viewでrenderで呼び出す(renderは{!! !!}のカッコで囲むこと) コード public function index() { $users = DB::table('users')->paginate(15); return view('user.i…

DBのデータを変形させて$model->valueで取るミューテター【76日目】

参考 Eloquent:ミューテター 5.1 Laravel 書き方 class User extends Model { /** * ユーザーのファーストネームを取得 * * @param string $value * @return string */ public function getFirstNameAttribute($value) { //最初の文字を大文字にして返す re…

Laravelで多対多のリレーションを組む【71日目】

多対多とは ある人は、いくつかのグループに所属しています。 あるグループは、いくつかの人で構成されてます。 これが多対多です。お互いが複数の対象を持ってますね。 これをデータベースで表現すると、中間テーブルと言うものが必要です。 データベースだ…

Laravelでリレーション先のカラムでwhereする方法【68日目】

参照元 Eloquent:リレーション 5.1 Laravel 手法 $posts = Post::whereHas('user', function ($query) { $query->where('name', 'uirou'); })->get(); これでuserのnameがuirouのPostを取得することが出来ます。 前回間違ったものを書いたので訂正。 日記 …

(仮)Laravelでリレーション先のカラムでwhereする方法【66日目】

参照元 Eloquent:リレーション 5.1 Laravel 手法 $users = App\User::with(['posts' => function ($query) { $query->where('id', 10); }])->get(); これで、postsのid = 10を書き込んだユーザーが取り出せる。 思いっきり間違えてました。正しくはこちら。…

OrderByでnullをascの最後尾に置く書き方【62日目】

Mysqlでnullをorderbyしてみた id|number| 1 | 1| 2 | 2| 3 |null| 4 | 4| 5 | 5| これのnumberを昇順(asc)でorderbyしたらどうなるか。 id|number| 3 |null| 1 | 1| 2 | 2| 4 | 4| 5 | 5| ナンデダヨ。 どうして? MySQL :: MySQL 5.6 リファレンスマニュア…

Laravelで過去に詰まった点を穴開き形式でまとめ。

はじめに これは Laravel Advent Calendar 2017 12日目の記事です。 前日は@kawaxさんの1コントローラー1アクション - Qiitaでした。 Web系来てまだ半年の私なので、コントローラーの肥大化は何度も経験してるのに、どう変えればいいのかわからない…… 一度振…

hasOneとhasManyとbelongsTo【56日目】

リレーションについてはこれ Eloquent:リレーション 5.1 Laravel こんなんできる 任意のポストについたコメントを取得する DB posts id|post| 1|aaa| 2|bbb| comments id|post_id|string| 1|1|aaaa| 2|1|iiii| 3|2|uuuu| ポスト1には、aaaa,iiiiの2つのコメ…

Laravelのバリデーションで『○○の時〜』をする【55日目】

バリデーション参考 5.1 バリデーション 5.1 Laravel 5.3 バリデーション 5.3 Laravel もし○○の時に、入力必須にする 例)もしアクティブユーザーならば、年齢を入力必須にする 'age' => 'required_if:is_active,true' unique条件にwhereを付け足す [1サーバ…

クエリビルダで【0 or null】and【0 or null】の書き方【53日目】

私の苦戦した問題 カラムAが【0 or null】かつ カラムBが【0 or null】の時 $query->where(function ($query) { $query->whereNull('A') ->orWhere('A', '0'); }) ->where(function ($query) { $query->whereNull('B') ->orWhere('B', '0'); }) 思いつくのに…

Laravelで間違ったルートにアクセスした時の処理を追加【49日目】

LaravelのAdvent Calender始まりましたね qiita.com 早速記事を引用します。 パクリのつもりじゃなくて、面白かったので引用・・・! フォールバックルートと言うらしい どのルートにもマッチしない URL にアクセスされた場合、通常は NotFoundHttpException…