Я хочу создать промежуточное программное обеспечение, чтобы проверить, является ли аутентифицированный пользователь владельцем элемента. Для одной модели, код легко и будет выглядеть примерно так:Laravel 5: multi-model middleware «Owner»
<?php namespace App\Http\Middleware;
use Closure;
class Owner {
public function handle($request, Closure $next)
{
$id = $request->segments()[1]; //get the id parameter
$model = Model::find($id); // find the model from DB
if(!$item)
return 'not found'; //if item not found
//check if authenticated user is owner
if($item->user_id == \Auth::id()){
return $next($request);
}else{
return 'not allowed';
}
}
}
Теперь допустим, у меня есть несколько моделей (ModelX, ModelY, ModelZ), и я не хочу, чтобы переписать промежуточного слоя функции ручки несколько раз , Как бы вставить ссылочную модель в промежуточное программное обеспечение, чтобы оно вмещало несколько моделей из моего приложения?
параметры Middleware? http://laravel.com/docs/5.1/middleware#middleware-parameters – aethergy