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