Я использую Laravel 5.6.
Мне нужно назначить ДВА РАЗНОГО промежуточного программного обеспечения в контроллере тем же методом, но другим методом ЗАПРОСА (post и put).
Я знаю, что его можно назначитьв route/web.php
.
Но мне просто интересно, есть ли способ решить эту проблему в ONLY CONTROLLER?
Это код ниже
namespace App\Http\Controllers\Users;
use Illuminate\Http\Request;
use App\Http\Controllers\Admin\Auth\AuthPagesController;
class Users extends AuthPagesController
{
//
public function __construct()
{
//this middleware should be for POST request
$this->middleware('permission:User -> Add Item')->only('save');
//this middleware should be for PUT request
$this->middleware('permission:User -> Update Item')->only('save');
}
public function save(Request $req, $id=null){
if ($req->isMethod('post')){
//only check for middleware 'permission:User -> Add Item'
//then run the 'Add Item' code
}elseif($req->isMethod('put')){
//only check for middleware 'permission:User -> Update Item'
//then run the 'Update Item' code
}
}
}
Но кодвыше создаст проблему для меня, потому что он будет проверять ОБА СРЕДНЕГО ОБЕСПЕЧЕНИЯ.