如何解决在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组件。
解决方法
正如Qirel所说,我认为$this->profile
确实存在空值,所以也许您可以尝试在mount方法中使用findOrFail:
$this->profile = Profile::findOrFail($id);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。