在Livewire上呈现整页组件之前,请检查资源是否存在

时间:2020-10-31 03:30:15

标签: laravel laravel-livewire

在使用Livewire渲染整页组件之前,如何检查资源是否存在?使用Laravel控制器,这非常简单。

我的路线:

Route::get('/profiles/{id}', \App\Http\Livewire\Profiles\Manage::class)->name('profiles.manage');

我是Profiles \ Manage类,用于在呈现整个页面组件之前检查配置文件是否存在。

我正在使用组件中的挂载功能挂载概要文件数据,并尝试检查概要文件是否存在(并相应地重定向)。但是,重定向无效。

public function mount($id)
{

    $this->profile = Profile::where(['user_id' => Auth::user()->id, 'id' => $id])->first();
    if(!$this->profile) {
        return redirect()->to('/404');
    }

}

我也尝试过在render()方法中执行此操作,该方法返回了组件视图,但是该方法需要渲染livewire组件。

1 个答案:

答案 0 :(得分:0)

正如Qirel所说,我认为$this->profile确实存在空值,所以也许您可以尝试在mount方法中使用findOrFail:

$this->profile = Profile::findOrFail($id);