Error "Call to undefined method Illuminate\Auth\GenericUser" when accessing to hasMany relationship of Auth::user()
<p>I defined a relationship One-to-Many between User and Patient, but when I try to save a new patient record with the authenticated user I get the error </p>

<blockquote>
  <p>Call to undefined method Illuminate\Auth\GenericUser::patients()</p>
</blockquote>

<p>Here are my tables:</p>

<pre><code>// Users table
Schema::create('users', function (Blueprint $table) {
    $table-&gt;increments('id');
    $table-&gt;string('name');
    $table-&gt;string('email')-&gt;unique();
    $table-&gt;string('password', 60);
    $table-&gt;rememberToken();
    $table-&gt;timestamps();
    $table-&gt;softDeletes();
});

// Patients table
Schema::create('patients', function (Blueprint $table) {
    $table-&gt;increments('id');
    //Foreign key
    $table-&gt;integer('user_id')-&gt;unsigned();
    $table-&gt;string('ci')-&gt;unique();
    $table-&gt;string('name');
    $table-&gt;string('last_name');
    $table-&gt;string('gender');
    $table-&gt;date('birth_date')-&gt;nullable();
    $table-&gt;string('place')-&gt;nullable();
    $table-&gt;timestamps();
    $table-&gt;softDeletes();

    $table-&gt;foreign('user_id')
          -&gt;references('id')-&gt;on('users');
});
</code></pre>

<p>In PatientController I call Auth::user() to save a new patient:</p>

<pre><code>public function store(PatientRequest $request){
    $patient = new Patient($request-&gt;all());
    Auth::user()-&gt;patients()-&gt;save($patient);
    $last = Patient::get()-&gt;last();

    return redirect()-&gt;route('patient.histories.create', [$last-&gt;id])-&gt;with('message', 'Success!');
}
</code></pre>

<p>And the relationships are defined as follows:</p>

<pre><code>// IN USER MODEL
public function patients(){
    return $this-&gt;hasMany('App\Patient');
}

// IN PATIENT MODEL
public function user(){
    return $this-&gt;belongsTo('App\User');
}
</code></pre>

<p>At this point I really don't know what is wrong, but when I create a new patient record from tinker it works as expected:</p>

<pre><code>&gt;&gt;&gt; $patient = new App\Patient;
&gt;&gt;&gt; $patient-&gt;ci = "1234567";
.......
.......

&gt;&gt;&gt; $user = App\User::first();
&gt;&gt;&gt; $user-&gt;patients()-&gt;save($patient);
</code></pre>

<p>Can someone spot where is the error, please? </p>