Awesome Laravel tips and tricks

 

Webエンジニアのカンタです!

普段はLaravelでのバックエンド開発を担当しております。

ソースコードの実装に行き詰まると、公式ドキュメントを参照することが多いのですが、自分が欲しい情報に辿り着かずに時間がかかることが多いこの頃です。

もっと効率的に情報収集したいと常日頃から感じている次第です。

youtubeで「Laravel」を検索すると、「Laravel 入門」や「Laravel チュートリアル」などの初学者向けの動画で溢れています(あくまで個人的な印象ですが)

動画で学習するならudemyが鉄板ですが、やっぱりyoutubeでサクッとみたいじゃないですか。

中級者向けの動画を探していたところ、「Laravel Daily」に出会いました。

投稿者の「Povilas Korop」さんは更新頻度も多く、実際に活用できるコードを非常に聞き取りやすい英語で解説してくれるので、めっちゃくちゃ有益です。

タイトルに書いてありますが、本日紹介したいのは「Awesome Laravel tips and tricks(素晴らしいLaravelのヒントとコツ)」になります!

 

My 125 Quick Laravel Tips About Everything - YouTube

 

Povilas Korop」さんはYoutubeで数々のコードレビューなども手掛ける敏腕のLaravelエンジニアです。その

その彼に開発されたLaravelのドキュメントがGithubに展開されています。

 

GitHub - LaravelDaily/laravel-tips: Awesome tips for Laravel

 

めちゃめちゃ数が多いので、全部紹介したら一つの書籍が出来るボリュームです。

本日はいくつかのサンプルコードを共有いたします。

 

1. Eloquent where date methods

In Eloquent, check the date with functions whereDay()whereMonth()whereYear()whereDate() and whereTime().

$products = Product::whereDate('created_at', '2018-01-31')->get();
$products = Product::whereMonth('created_at', '12')->get();
$products = Product::whereDay('created_at', '31')->get();
$products = Product::whereYear('created_at', date('Y'))->get();
$products = Product::whereTime('created_at', '=', '14:13:58')->get();

エロクアントで日付取得のメソッドの一覧が書かれていますね。

 

2. No timestamp columns

If your DB table doesn't contain timestamp fields created_at and updated_at, you can specify that Eloquent model wouldn't use them, with $timestamps = false property.

class Company extends Model
{
    public $timestamps = false;
}

タイムスタンプを無効にしたいときに指定するプロパティです。

 

3. To Fail or not to Fail

In addition to findOrFail(), there's also Eloquent method firstOrFail() which will return 404 page if no records for query are found.

$user = User::where('email', 'povilas@laraveldaily.com')->firstOrFail();

条件に該当しない場合は404を返すメソッド。

 

4. Hide Some Columns

When doing Eloquent query, if you want to hide specific field from being returned, one of the quickest ways is to add ->makeHidden() on Collection result.

$users = User::all()->makeHidden(['email_verified_at', 'deleted_at']);

コレクションで意図的に隠したいフィールドがある場合の便利なメソッド。

 

上記4つはデータベースやエロクアント系の情報しか参照していませんが(知ってるよ!方は申し訳ありません)、実際には下記のようにジャンルは多岐に渡ります。

 

Table of Contents

 

Laravelで開発されている方に是非お勧めしたい情報を共有させていただきました!

それでは失礼いたします!

 

WEBサイト制作のお問い合わせ、お見積り依頼、ご質問は
こちらのお問い合わせフォームよりお願いいたします

メールお問い合わせはこちら