如何在使用Livewire渲染整个页面组件之前检查资源是否存在?使用Laravel控制器非常简单。
我的路线:
Route::get('/profiles/{id}', \App\Http\Livewire\Profiles\Manage::class)->name('profiles.manage');
我是Profiles\Manage类,在呈现整个页面组件之前检查配置文件是否存在。
我正在使用组件中的mount函数挂载配置文件数据,并试图检查配置文件是否存在(并相应地重定向)。
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组件。
2条答案
按热度按时间mefy6pfw1#
正如Qirel所说,我认为
$this->profile
确实存在空值,所以也许您可以尝试在mount方法中使用findOrFail:piwo6bdm2#
试试这个:
或者,您可以使用以下命令: