title: laravel-permission: assignRole works in Tinker but not in application
body: <p>See my AdministrationController.php below:</p>
  
  <pre><code>namespace App\Http\Controllers;
  
  use Illuminate\Http\Request;
  use Spatie\Permission\Models\Role;
  use Spatie\Permission\Models\Permission;
  use Illuminate\Foundation\Auth\User;
  
  
  class AdministrationController extends Controller
  {
  
      public function index() {
  
          $user = User::find(1);
          $role = Role::where('name', 'owner')-&gt;get()-&gt;first();
          $user-&gt;assignRole($role);
  
      }
  
  }
  </code></pre>
  
  <p>This is the important part of my User model:</p>
  
  <pre><code>namespace App;
  use Illuminate\Notifications\Notifiable;
  use Illuminate\Foundation\Auth\User as Authenticatable;
  use Spatie\Permission\Traits\HasRoles;
  
  class User extends Authenticatable
  {
      use HasRoles;
      use Notifiable;
      ...
  }
  </code></pre>
  
  <p>Curiously, the line <code>$user-&gt;assignRole($role);</code> in AdministrationController.php fires the following error:</p>
  
  <pre><code>BadMethodCallException
  Method Illuminate\Database\Query\Builder::assignRole does not exist.
  </code></pre>
  
  <p>However, in Tinker this command sequence works fine and effects the desired result:</p>
  
  <pre><code>&gt;&gt;&gt; $user=User::find(1)
  &gt;&gt;&gt; $role=Spatie\Permission\Models\Role::where('name', 'owner')-&gt;get()-&gt;first()
  &gt;&gt;&gt; $user-&gt;assignRole($role)
  </code></pre>
  
  <p>I googled for this issue, tried some fixing proposals but nothing helped me out. What's wrong in my AdministrationController.php / User.php?</p>