title: Polymorphic relationship with other polymorphic realtion?
body: <p>I have <code>order</code> and <code>return</code> tables which have a <code>created_by</code> and <code>accepted_by</code> field where the corresponding user id is stored.
  But now I would like to have multiple types for created_by and accepted_by instead of only user type. Assume a <code>company</code> could also create or accept the order/return.</p>
  <p>I was thinking of a polymorphic one to many relationship.
  Let’s name this table <code>participants</code>.
  Something like:</p>
  <div class="s-table-container">
  <table class="s-table">
  <thead>
  <tr>
  <th>ID</th>
  <th>created</th>
  <th>participantable_id</th>
  <th>participantable_type</th>
  </tr>
  </thead>
  <tbody>
  <tr>
  <td>1</td>
  <td>1</td>
  <td>1</td>
  <td>user</td>
  </tr>
  <tr>
  <td>2</td>
  <td>0</td>
  <td>11</td>
  <td>company</td>
  </tr>
  </tbody>
  </table>
  </div>
  <p>This works either for order or return but not both.
  Is it practically to add extra colums to <code>participants</code> like <code>trx_id</code> and <code>trx_type</code> (order/return)?</p>
  <p>How would the realtionships looks like to perform queries like:</p>
  <pre><code>$order-&gt;createdBy // should give me either user or company model
  $order-&gt;acceptedBy
  $return-&gt;createdBy
  $return-&gt;acceptedBy
  </code></pre>
  <p>Or is there even a cleaner solution I am overlooking?
  Thanks!</p>