itLinkedInPocketCopyこんにちは。今回はLivewireでEloquentモデルとバインドする方法を解説していきます。関連EloquentとバインドするとはLivewireは画面で入力した値を背後にあるサーバーサイドのクラスのプロパティとバインドすることができます。バインドに関しては次の記事で詳しく解説しています。値をバインドするサーバーサイドのプロパティにEloquentのインスタンスを設定することで、画面で入力した値をダイレクトにEloquentに紐づけることができます。この機能によって、データの保存がより一層楽になるのでおすすめです。それでは早速解説していきます。Eloquentとバインドする方法Livewireコンポーネントを作成まずはじめにLivewireコンポーネントを作成します。今回はUserモデルの情報を登録する画面を作るのでコンポーネントをUserFormという名前にします。UserFormを実行しましょう。resources/views/livewire/user-form.blade.phpサーバーサイドを作成サーバーサイド側の処理を始めに記述します。Userモデルをuseして使用できるようにします。次にクラス変数$userを定義し、コンストラクタで生成したUserモデルを$userに代入します。}}次にバリデーションルールを設定しましょう。$rulesに連想配列形式で記述します。Userモデルのプロパティはドットでつなげることでアクセスできます。passwordプロパティについてバリデーションを作成しました。];最後に登録処理を記述します。バリデーションは$this->validateで実行できます。入力値に不備がある場合は、validateメソッドで処理が中断されます。バリデーションのあとに登録処理を記述します。$this->userがeloquentモデルなので、$this->user->save()で保存ができます。}一連のコードを記述後、UserForm.phpのコードは以下のようになります。画面を作っていきます。ユーザー名、メールアドレス、パスワードを登録する単純なフォームです。それぞれのテキストボックスはwire:model要素でサーバーサイドとバインドしています。このときもEloquentのプロパティにアクセスする際はドットで繋げます。ユーザー名はuser.nameとなります。formのsubmit時にsaveメソッドを呼び出しています。type="submit">登録</button></form></div>最後、indexという名前でbladeを作り、作成したuser-form.blade.phpを読み込ませます。serve実行後、ブラウザからアクセスしてみましょう。画面は次のようになります。登録ボタンをクリックして、データが保存されていることを確認しましょう。バリデーションが機能することも確認します。メールアドレスとパスワードに入力不備がある状態で登録をクリックすると、以下のようにメッセージが表示されます。※言語ファイルを日本語化していないので英語のメッセージになっています。まとめ今回はLivewireでEloquentモデルとダイレクトにバインドする方法を解説しました。色々な手間が省けるのでかなり生産性が良くなることを実感できたと思います。モデルの登録は基本この形で行うのが理想的だとおもいました。リレーションの基礎こんにちは。...【Laravel】単一アクションのコントローラを作るこんにちは。今回は単一アクションのコントローラを作成する方法を解説します。...Laravelのルーティングの書き方を10分でサクッと学ぶこんにちは。...【Laravel】特定のテストケースを実行するこんにちは。コメントをキャンセルメールアドレスが公開されることはありません。*ウェブサイト次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。一覧画面に検索条件、フィルターを設置するこんにちは。モデルの準備と一覧表示画面こんにちは。Filamentのインストール手順こんにちは。UncategorizedWindowsにComposer2をインストールする方法こんにちは。