title: Unable to fetch and update DB columns in Laravel (using Resource Controller & Collective Forms)
body: <p>Here's a little context to what I'm trying to do: I'm trying to make a Profile System where the user registers and is redirected to a Display Page, where all the User info like his name, email etc. are meant to be displayed. Since the registration form only has 2 fields (name / email) - the user has to update his other info like his gender/facebook ID/twitter ID etc etc. So I've an Edit button which takes the user to a form. Now on that form, I want his already-existing Name/Email to show up, while the other fields like Gender/FB/Twitter/Description are empty - once he fills those fields and presses Update, I want him to go back to Display Page and then be shown all this updated/new information i.e Gender/Name/Email/Twitter/Description. Following is my code so far:</p>
  
  <p><strong>ProfileController.php</strong> (Resource Controller):</p>
  
  <pre><code>    &lt;?php
  
  namespace App\Http\Controllers;
  
  use Illuminate\Http\Request;
  use App\CustomUser;
  
  
  class ProfileController extends Controller
  {
      /**
       * Display a listing of the resource.
       *
       * @return \Illuminate\Http\Response
       */
      public function index()
      {
          $customusers = CustomUser::get()-&gt;first();
          return view ('display',compact('customusers'));
      }
  
      /**
       * Show the form for creating a new resource.
       *
       * @return \Illuminate\Http\Response
       */
      public function create()
      {
          //
      }
  
      /**
       * Store a newly created resource in storage.
       *
       * @param  \Illuminate\Http\Request  $request
       * @return \Illuminate\Http\Response
       */
      public function store(Request $request)
      {
          //
      }
  
      /**
       * Display the specified resource.
       *
       * @param  int  $id
       * @return \Illuminate\Http\Response
       */
      public function show($id)
      {
          //
      }
  
      /**
       * Show the form for editing the specified resource.
       *
       * @param  int  $id
       * @return \Illuminate\Http\Response
       */
      public function edit(CustomUser $customuser) 
      {
          return view ('edit',compact('customuser'));
      }
  
      /**
       * Update the specified resource in storage.
       *
       * @param  \Illuminate\Http\Request  $request
       * @param  int  $id
       * @return \Illuminate\Http\Response
       */
      public function update(Request $request, CustomUser $customuser)
      {
          $customuser-&gt;update($request-&gt;all());
          return redirect()-&gt;route('display.index')-&gt;with('creation','Profile has been updated successfully!');
      }
  
      /**
       * Remove the specified resource from storage.
       *
       * @param  int  $id
       * @return \Illuminate\Http\Response
       */
      public function destroy($id)
      {
          //
      }
  }
  </code></pre>
  
  <p><strong>CustomUser.php</strong> (Model):</p>
  
  <pre><code>   &lt;?php
  
  namespace App;
  
  use Illuminate\Notifications\Notifiable;
  use Illuminate\Foundation\Auth\User as Authenticatable;
  
  class CustomUser extends Authenticatable
  {
      use Notifiable;
  
      protected $table = 'customusers';
  
      /**
       * The attributes that are mass assignable.
       *
       * @var array
       */
      protected $fillable = [
          'name','username','email','gender','password','message','twitter','facebook',
      ];
  
      /**
       * The attributes that should be hidden for arrays.
       *
       * @var array
       */
      protected $hidden = [
          'password', 'remember_token',
      ];
  }
  </code></pre>
  
  <p><strong>Display.blade.php</strong> (Main Page):</p>
  
  <pre><code>@extends('layouts.app')
  
  @section('content')
  
  &lt;div style="margin-top: 5.2%;" class="container"&gt;
      &lt;div class="row"&gt;
          &lt;div class="col-lg-12"&gt;
              @if (Session::has('creation'))
              &lt;div class="alert alert-info"&gt;
                  {{ Session::get('creation') }}
              &lt;/div&gt; 
              @endif
               {{ link_to_route('display.edit','Edit',[$customusers-&gt;id],['class'=&gt;'btn btn-success']) }}
  
               {{$customusers-&gt;name}}
               {{$customusers-&gt;email}}
               {{$customusers-&gt;message}}
               {{$customusers-&gt;facebook}}
               {{$customusers-&gt;twitter}}
          &lt;/div&gt;
      &lt;/div&gt;
  &lt;/div&gt;
  
  @endsection
  </code></pre>
  
  <p>And finally, this is my <strong>Edit.blade.php</strong>:</p>
  
  <pre><code>@extends('layouts.app')
  
  @section('content')
  &lt;body style="height: 105.6vh;"&gt;
  &lt;div class="container"&gt;
      &lt;div class="row"&gt;
          &lt;div class="col-lg-12"&gt;
              &lt;div class="card"&gt;
                  &lt;div class="card-header" style="color: #fff; background-color: #113;font-family: 'Nunito',sans-serif; text-transform: uppercase;letter-spacing: 2px;
                  font-weight: bold;"&gt;
                      Edit Profile
              &lt;/div&gt;
                  &lt;div class="card-body"&gt;
                          {!! Form::model($customuser,array('route'=&gt;['display.update',$customuser-&gt;id],'method'=&gt;'PUT')) !!}
                      &lt;div class="form-group"&gt;
                          {!! Form::text('name',null,['class'=&gt;'form-control','placeholder'=&gt;'Username']) !!}
                      &lt;/div&gt;
                      &lt;div class="form-group"&gt;
                              {!! Form::email('email',null,['class'=&gt;'form-control','placeholder'=&gt;'Email']) !!}
                      &lt;/div&gt;
                      &lt;div class="form-group form-row"&gt;
                              &lt;div class="col-5"&gt;
                                      {!! Form::select('gender', ['Male' =&gt; 'Male', 'Female' =&gt; 'Female'], null, ['class'=&gt;'form-control','placeholder'=&gt;'Choose Gender']); !!}
                              &lt;/div&gt;
                              &lt;div class="col"&gt;
                                      {!! Form::text('facebook',null,['class'=&gt;'form-control','placeholder'=&gt;'Facebook ID']) !!}
                              &lt;/div&gt;
                              &lt;div class="col"&gt;
                                      {!! Form::text('twitter',null,['class'=&gt;'form-control','placeholder'=&gt;'Twitter Handle']) !!}
                              &lt;/div&gt;
                      &lt;/div&gt;
                      &lt;div class="form-group"&gt;
                              {!! Form::textarea('message',null,['class'=&gt;'form-control','placeholder'=&gt;'Talk about yourself']) !!}
                      &lt;/div&gt;
                      &lt;div class="form-group"&gt;
                              {!! Form::button('Edit',['type'=&gt;'submit','class'=&gt;'btn btn-danger col-lg-12']) !!}
                      &lt;/div&gt;
                      {!! Form::close() !!}
                  &lt;/div&gt;
              &lt;/div&gt;
          &lt;/div&gt;
      &lt;/div&gt;
  &lt;/div&gt;
  &lt;/body&gt;
  @endsection
  </code></pre>
  
  <p>Now, when I click Edit and go to Edit.blade.php - all the fields are blank, when two of them (Name / Email) should have pre-filled blanks of what the user's credentials are, but that isn't the case - they are blank. And when I fill all the fields and press Update, it gives me "<strong>The PUT method is not supported for this route</strong>. What am I doing wrong here? I've been squabbling through the Internet for over 2 hours and I'm unable to find what I'm doing wrong here. Let me know there are any further info required for you to crack this problem of mine..</p>