エンジニアのひよこ_level10

毎日更新してた人。たまに記事書きます。

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

はじめに

これは Laravel Advent Calendar 2017 12日目の記事です。

前日は@kawaxさんの1コントローラー1アクション - Qiitaでした。

Web系来てまだ半年の私なので、コントローラーの肥大化は何度も経験してるのに、どう変えればいいのかわからない……
一度振り切った思想で実装をしていくことで得られる学びもあるかもしれません。参考にしたいと思います!

概要

Laravelで過去に書くのに詰まった書き方などを、ここで穴空き形式で書いていきます。

初心者ゆえに初歩的なものが殆どです。

参考リンクも合わせて書きますので、
『あれ??』っと思った方は、過去記事や、参考リンクを見に行っていただけますと幸いです。

1.tableで変更をしたくないカラムをModelに設定する

class User extends Model
{
   $??? = ['id', 'is_admin'];
}

■リンク

Laravelで???か???を設定して、DBの予期せぬ変化に備える【24日目】
LaravelのORMで初心者から職人へ - Qiita

2.名前付きルートの書き方

呼び出し

<a href="{{ route('profile', ['id' => 1]) }}">

route.php

Route::get('list/{id}/profile',  exController@getProfile)->????('profile');

■リンク

Laravelの名前付きルートの書き方【48日目】 - エンジニアのひよこ_level10
ルーティング 5.5 Laravel

3.間違ったルートにアクセスした時の処理を追加

Route::????????(function ($route) {
    // ここで何らかの処理をする
    throw new NotFoundHttpException($route . ' not found');
});

■リンク

Laravelで間違ったルートにアクセスした時の処理を追加【49日目】 - エンジニアのひよこ_level10

【今年のadvent calendar 1日目の記事をお借りしました!良い記事です!】
Undocumented Laravel (1) Routing 編 - Qiita

4.カラムA=(0 or null) and カラムB=(0 or null)

whereIn('A', [0, null])じゃ駄目でした。

$query->where(function ($query) {
            ????
        })
        ->where(function ($query) {
            ????
        })

■リンク

クエリビルダで【0 or null】and【0 or null】の書き方【53日目】 - エンジニアのひよこ_level10

5.バリデーション:is_active = trueの時に、入力必須にする

'age' => '????:is_active,true'

■リンク

Laravelのバリデーションで『○○の時〜』をする【55日目】 - エンジニアのひよこ_level10

6.バリデーション:unique条件にwhereを付け足す

5.1ver

'name' => 'unique:users,name,?????????'

5.3ver

'name' => Rule::unique('users')->????????

■リンク

Laravelのバリデーションで『○○の時〜』をする【55日目】 - エンジニアのひよこ_level10

おわりに

あれ、これ知らなかった、忘れていたというものはありましたか?
他の方の忘備録が、後々役に立つことが結構あるので、
見ている方のお役に立てると嬉しいです。

エンジニア歴半年なので、まだ量も質も高いお話は出来ませんでしたが、
これから貯めていきます。

またよりレベルの高いお話が出来るように勉強いたします。ありがとうございました。