title: Laravel Multiple Middleware in Route with OR Condition
body: <p>I wonder if I can do this in Laravel Route. Let's say I have <code>Admin</code>, <code>Premium</code> and <code>User</code> (which can be login too by using <code>Auth</code>) Middleware. Also, I have controller with methods like this: <code>index</code>, <code>create</code>, <code>edit</code>, <code>delete</code> and I want <code>Admin</code> to be able do all those things, but <code>Premium</code> can only be able to access <code>index</code> method, and <code>User</code> can't access anything in this controller (he can access another controller). I know I can use <code>except</code> or <code>only</code> middleware method like this:</p>
  
  <pre><code>    public function __construct()
      {
      $this-&gt;middleware('premium')-&gt;only('index');
      $this-&gt;middleware('admin'); 
      // or maybe $this-&gt;middleware('admin')-&gt;except('index');
      }
  </code></pre>
  
  <p>but when I try to put these two middlewares in <code>__construct</code> method they will start to conflict each other, it makes sense because index method can be access by <code>Premium Member</code> but then can't be access by the <code>Admin</code> itself. Btw my middleware is simply checking: </p>
  
  <pre><code>    if (Auth::check()) {
          if (Auth::user()-&gt;role == 'Admin') {
              return $next($request);
          }
       }
      return redirect('/home');
  </code></pre>
  
  <p>So, back to my question, can I have OR Middleware so I can avoid conflict from multiple middleware (which is must be AND condition when they written at the same controller constructor)?</p>
  
  <p>Thanks a lot.</p>