0
我User.php
Laravel验证网站所属的用户
class User extends Authenticatable
{
public function sites()
{
return $this->hasMany(Site::class);
}
}
我Site.php
class Site extends Model
{
public function user()
{
return $this->belongsTo(User::class);
}
}
我routes.php
Route::resource('site', 'SiteController');
我SiteController.php
class SiteController extends Controller
{
public function edit(int $id)
{
$site = Auth::user()->sites()->find($id);
return view('site.edit', compact('site'));
}
}
如何验证该网站属于用户?我明白,在我的情况下,如果网站不属于用户,$site
变量将为空。但我想要更多的声明方式,例如laravel请求,因为我需要在show
,update
和destroy
方法中进行相同的检查。但我不能用laravel要求,因为检查是这样的
$siteId = Route::current()->param('site');
$ids = Auth::user()->sites()->pluck('id')->toArray();
$result = in_array($siteId, $ids);
任何人都可以提出如何实现我的目标?
我找到解决的http://计算器。 COM /问题/ 22618389/laravel,防止用户从 - 编辑 - 查看 - 其他用户资源?RQ = 1。只需使用路由过滤器。 – melihovv