4
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Laravel,livewire2.0 TipsAdvent Calendar 2022

Day 6

【livewire 2.0 】一歩先を行くルートモデルバインディング

Last updated at Posted at 2022-12-05

概要

Laravelの便利機能の1つ、ルートモデルバインディングというのがあります。

スクリーンショット 2022-11-28 19.12.11.png

添付したドキュメントだと/users/1にリクエストが来た場合、
UserControllerのshowメソッドの引数で定義しているモデルと対になるテーブルから、idが1のレコードを取得し
モデルオブジェクトとして受け取れます。

livewireだと。。。。

____もはや引数ですら受け取らない

ルートモデルバインディングを使用したルーティングを書く

web.php
Route::get('/users/{user}',App\Http\Livewire\Sample1128::class);

mount()で受け取るまでもなくプロパティに指定のユーザーモデルオブジェクトが入ります。

<?php

namespace App\Http\Livewire;

use App\Models\User;
use Livewire\Component;

class Sample1128 extends Component
{
    public User $user;
    
    public function render()
    {
        return view('livewire.sample1128');
    }
}

省略しすぎて知らない人から見たら「一体どこで受け取ってるんだ!!!!!!」って感じですよね。
因みにphp7.4~ 限定っぽいです

スクリーンショット 2022-11-28 20.35.02.png

4
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?