2021.12.20 ホームページ制作

システム開発 – 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();

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

編集部のおすすめ
SCOPE CREEP

その追加要望、今入れますか?

制作中に増えた要望を、目的・影響・費用・公開時期から判断し、修正・追加対応・公開後対応へ整理する考え方をご紹介します。

追加要望の判断基準を見る

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で開発されている方に是非お勧めしたい情報を共有させていただきました!

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

編集部のおすすめ
ASK THREE QUESTIONS

AI活用でWeb制作会社に聞くべき3つの質問

AIを使っているかどうかを隠しながら進行していくストレスは互いに健全ではありません。Web制作会社に聞くべき重要な確認事項を、3つの質問として整理しました

Web制作会社のAI活用を見極める
お問い合わせ お問い合わせ
ページの先頭に戻る