title: Relationship to users table without using the standard 'user_id' column name
body: <p>I have 2 tables, one has different columns to record different users names based on authorisation level. but i would like to link to two together. at the moment i have tried the following: </p>
  
  <p>User.php</p>
  
  <pre><code>public function approvals()
      {
          return $this-&gt;hasMany(Approval::class);
  
      }
  </code></pre>
  
  <p>Approval.php</p>
  
  <pre><code>public function qs() {
          return $this-&gt;belongsTo(User::class, 'id', 'qs');
      }
  </code></pre>
  
  <p>index.blade.php</p>
  
  <pre><code>&lt;td&gt;{{ $approval-&gt;qs-&gt;name }}&lt;/td&gt;
  </code></pre>
  
  <p>approvals db structure</p>
  
  <pre><code>Schema::create('approvals', function (Blueprint $table) {
              $table-&gt;bigIncrements('id');
              $table-&gt;unsignedBigInteger('project_id');
              $table-&gt;integer('stage');
              $table-&gt;unsignedBigInteger('qs')-&gt;nullable();
              $table-&gt;unsignedBigInteger('pm')-&gt;nullable();
              $table-&gt;unsignedBigInteger('rcm')-&gt;nullable();
              $table-&gt;unsignedBigInteger('doc')-&gt;nullable();
              $table-&gt;unsignedBigInteger('vpoc')-&gt;nullable();
              $table-&gt;unsignedBigInteger('vpof')-&gt;nullable();
              $table-&gt;timestamps();
          });
  </code></pre>
  
  <p>users db structure </p>
  
  <pre><code>Schema::create('users', function (Blueprint $table) {
              $table-&gt;bigIncrements('id');
              $table-&gt;string('name');
              $table-&gt;string('email', 100)-&gt;unique();
              $table-&gt;timestamp('email_verified_at')-&gt;nullable();
              $table-&gt;string('password');
              $table-&gt;rememberToken();
              $table-&gt;timestamps();
          });
  </code></pre>
  
  <p>Am i going about this all wrong, the qs table column needs to be linking to the users.id?</p>