title: Laravel - controller doesn't see image input
body: <p>My form:</p>
  
  <pre><code>&lt;form action="{{route('settings.update')}}" method="POST"&gt;
      @csrf
      &lt;div class="col-sm-3"&gt;
          &lt;div class="form-group"&gt;
              &lt;label for="avatar"&gt;Upload a new one:&lt;/label&gt;
              &lt;input type="file" id="pic" name="pic"/&gt;
           &lt;/div&gt;
       &lt;/div&gt;
       &lt;div class="form-group"&gt;
           &lt;button type="submit" class="btn btn-primary"&gt;Upload avatar&lt;/button&gt;
       &lt;/div&gt;
   &lt;/form&gt;
  </code></pre>
  
  <p>My Controller:</p>
  
  <pre><code>public function update_settings($request)
  {
      $this-&gt;validate($request, [
          'pic' =&gt; 'required|image'
      ]);
      $path = $request-&gt;image-&gt;store('/img/');
      Auth::user()-&gt;image = $path;
      return view('pages.settings');
  }
  </code></pre>
  
  <p>The error:</p>
  
  <p><code>Too few arguments to function App\Http\Controllers\PagesController::update_settings(), 0 passed and exactly 1 expected</code></p>
  
  <p>I am passing only the image file in the $request, but for some reason the controller doesn't see it, what am I doing incorrectly?</p>