Laravel Pivot with multiple values
<p>I am trying to build a (slightly complex) subscription service using Laravel. </p>

<p>The subscriptions would be of the type: 
<strong>Breakfast Subscription</strong> for 20 breakfasts to be used within 30 days of enrolment. </p>

<p>For example, If user enrols for the  breakfast subscription on 1st of April, he can avail for any 20 days of his choice, until April 30. </p>

<p>I've made the following tables and corresponding Models: </p>

<p>User Model and table</p>

<pre><code>Users: 
- id
- name
- email
etc
</code></pre>

<p>Subscriptions table and Model</p>

<pre><code>Subscriptions: 
- id
- name
- price
- validity 
- meals_available
</code></pre>

<p>subscription_user pivot (?) table with softDeletes</p>

<pre><code>- subscription_id
- user_id
- start_date
- end_date
- created_at
- updated_at
- deleted_at
</code></pre>

<p>I've updated the corresponding models with belongsToMany relations ships</p>

<p>User: </p>

<pre><code>class User extends Authenticatable
{
     ...
    /*
     * User can have many subscriptions
     */

    public function subscriptions()
    {
        return $this-&gt;belongsToMany('App\Subscription')-&gt;withTimestamps();
    }
}
</code></pre>

<p>Subscriptions Model</p>

<pre><code>class Subscription extends Model
{
     ...
    /*
     * Subscription can have many Users
     */

    public function users()
    {
        return $this-&gt;belongsToMany('App\User')-&gt;withTimestamps();
    }
}
</code></pre>

<p>Issues that I need help with 
 1. Is the database/model structure correct way to solve the problem?</p>

<ol start="2">
<li><p>While I can use attach() and detach() methods, I am not able to fill in start_date and end_date values in the subscription_table. How to do this? </p></li>
<li><p>I want to use soft deletes on the pivot table. How I can use it? </p></li>
</ol>

<p><strong>Thanks in Advance.</strong> </p>