エンジニ屋.com(エンジニヤドットコム)

分かりやすくを意識して情報発信!

Laravel

【Laravel】独自のバリデーションを作成する4つの方法【比較】

Laravelで独自のオリジナルのバリデーションルールを作成する場合、 4つの方法で定義することができます。 あの解説記事と、あの記事のバリデーションの書き方が違うぞ?!どっちが正解なんだ? 本記事では、それぞれの書き方の方法とそのメリットを説明しま…

【ChatGPT】APIでチャットボットの作成方法!【PHP・Laravel】

この記事では、ChatGPTのAPIを活用して「チャットボット」を作成する方法をご紹介します。 プログラミング言語は、PHPの人気フレームワーク「Laravel」を使用します。 こちらが、完成後のイメージです。 前提 1. OpenAIのAPIクライアントをインストール 2. …

【Laravel】Eloquent・クエリビルダ・生SQLの違いをしっかり理解【比較】

Laravelを使ってデータベースからデータを取得するとき、Eloquent ORM、クエリビルダ、生のSQLの3つの方法があります。 この記事ではそれぞれの違いを詳しく見ていきます!! 先ずは、説明の為にサンプル用として、usersテーブルを用意しています。 下のように…

【Laravel】$request(Requestクラス)とrequest()(ヘルパ関数)の違い

Request $requestとrequest()の違いって何?! 本記事は、この様な疑問に対して解決・理解できる内容になっています。 例えば、ソースコードは以下とします。 index.blade.php <form action="/confirm" method="post"> @csrf <input type="text" name="name" > <input type="submit" value="送信"> </form> MainController.php use Illuminate\Http\Request; class MainControll…

【Laravel】 Requestクラス、複数あるけどどう違う?(Illuminate\Http・Client・Support\Facades, Symfony\Component\.., GuzzelHttp...)【比較】

LaravelでRequestクラスを呼び出そうとすると、Vs codeの拡張機能の補完機能で下記画像のように複数のRequestクラスが提案されます。 コマンド(php artisan make:controller)でControllerのファイルを作成した場合、 use Illuminate\Http\Requestがデフォル…

【Laravel】Ajaxの使い方・通信の流れ【具体例でしっかり理解】

本記事は、具体的なイメージからAjax(非同期)の使い方・通信の流れを理解できる内容になっています。 ajaxが非同期というのはなんとくなく理解したけど、実際にLaravelでどのように使うのかな? このような悩みが解決できるようになってみます。 具体的にイメ…

【Laravel】リレーション先のデータ取得・保存など しっかり理解 【検証】

本記事は、リレーション先のデータ取得や保存方法について、検証しながら理解深める内容になっています。 この記事を書く背景 確認のための準備 プロパティアクセスで取得 補足的な話ですが リレーションメソッド この記事を書く背景 学習者へアドバイスやサ…

【VSCode】コード自動整形時のインデント数を変更【Laravel・Blade】

本記事は、Vs codeでLaravelのテンプレートエンジンであるBladeで自動整形する際のインデント数の設定変更方法を紹介します。 プロジェクトや会社によってコーディングルールというものがあります。(特にルールなど設けていないケースもあります。) その1…

【Laravel】リレーション先を基準にデータを並び替える方法【WhereHasは使えない】

本記事は、Laravelでリレーション先を基準に並び替えをする方法を紹介します。 イメージ この記事を書く背景 確認のための準備 まずは普通に一覧表示 whereHas リレーションを条件に並び替え この記事を書く背景 学習者へアドバイスやサポートする立場のお仕…

【Laravel】テーブル作成からテストデータ挿入方法【Model・migration・factory・seeder】

本記事ではDBテーブル作成からテストデータ挿入までの実装方法を流れに沿って紹介していきます。 それでは早速実装していきましょう! 必要ファイルを作成 Model Migration Factory seeder migration Factory seeder おまけ 必要ファイルを作成 投稿された記…

【Laravel】migrationでinsert データ追加

本記事はmigrationでデータを追加する方法を紹介します。 基本的にlaravelでテストデータを追加したいときはseederを使用します。 しかし、例えばuserテーブルに管理者用のパスワードを1つだけ追加したいというときに、わざわざseederを作るのも…っていうと…

【Laravel】データ取得 find・first・get・all の違いをしっかり理解 【比較】

本記事は、Laravelの基本的なデータ取得メソッドのfind・first・get・allの違いについてしっかり確認・理解できる内容となっています。 この記事を書く背景 確認のための準備 first find all 補足 get この記事を書く背景 学習者へアドバイスやサポートする…

【Laravel】保存処理時にフラッシュメッセージを表示【汎用的】

登録処理の際、下記イメージGIFのようにフラッシュメッセージを表示する方法を紹介します。 イメージ フラッシュメッセージ イメージは登録処理が成功した時のフラッシュメッセージです。 登録処理が失敗した時に「登録が失敗しました」というフラッシュメッ…

【Laravel】オリジナルのバリデーション(ファイル名重複)を作成する方法【汎用的】

本記事は、ファイル名をデータベース内のデータと重複させないようにするバリデーションを作成する方法を紹介します。 ファイルサイズやマイムタイプのバリデーションが用意されていますが、ファイル名のバリデーションは用意されていないので、自信でカスタ…

【Laravel】バリデーションエラー表示のコード簡略化【脱初心者】

本記事では、Bladeでバリデーションエラーを表示する際のコード記述をスマートに簡略化する方法を紹介します。 先ずこちらが簡略化前です。 @if ($errors->has('title')) <p class="error_msg">{{ $errors->first('title') }}</p> @endif こちらが簡略化後 {{ Form::error('title') }}…

【Laravel】ユニークバリデーション【自分自身や論理削除時の除外】

当記事は、ユニーク(重複)のバリデーションを設定するときに自分自身や論理削除時(ソフトデリート)の特定データを除外する方法を紹介します。 仕様によっては気にしなくても大丈夫ですが、ユーザー登録など機能を実装する際に必要な設定となります。 ■動作検…

【Laravel】CSS更新時のキャッシュ消去を不要にする設定方法

CSSを更新されたと聞きしましたが反映されてません おかしいなー、、、、あっ、キャッシュ削除されました? リリース後にクライアント様や社内の中で、このようなやりとりが出てくることがあります。 当記事では、このような問題が起きないようにCSS更新時に…

【Laravel 】get~Attributeの使い方【わかりやすく解説】

当記事では初級者から上級者まで必ず覚えておきたいアクセサと呼ばれるget~Attributeの使い方について、実際のコードを使用して解説していきます。 get~Attributeを使用すれば、データベースから取得した後のデータを加工して簡単にView(Blade)で表示させ…

【Laravel8】お問い合わせフォームの作り方 メール送信まで解説

Laravel8では7と比べ若干の仕様の違いで、今まで通りにコードを書くとエラーが発生します。 本記事では、Laravel8でのお問い合わせフォームの作成方法をまとめました。 作成ページ 開発環境 ルーティングを作成 コントローラを作成 トップページを作成 web.p…