title: General error: 1364 Field 'user_id' doesn't have a default value
body: <p>I am trying to assign the user_id with the current user but it give me this error</p>
  
  <pre><code>SQLSTATE[HY000]: General error: 1364 Field 'user_id' doesn't have a 
  default value (SQL: insert into `posts` (`updated_at`, `created_at`) 
  values (2017-04-27 10:29:59, 2017-04-27 10:29:59))
  </code></pre>
  
  <p>here is my method</p>
  
  <pre><code>//PostController
  Post::create(request([
          'body' =&gt; request('body'),
          'title' =&gt; request('title'),
          'user_id' =&gt; auth()-&gt;id()
      ]));
  </code></pre>
  
  <p>with these fillables</p>
  
  <pre><code>//Post Model
  protected $fillable = ['title', 'body', 'user_id']
  </code></pre>
  
  <p>However this method do the job</p>
  
  <pre><code>//PostController
  auth()-&gt;user()-&gt;publish(new Post(request(['title' ,'body']))); 
  
  //Post Model
  public function publish(Post $post)
  {
      $this-&gt;posts()-&gt;save($post);
  }
  </code></pre>
  
  <p>any idea why this fail?
  <a href="https://i.stack.imgur.com/A1Q5q.png" rel="noreferrer"><img src="https://i.stack.imgur.com/A1Q5q.png" alt="enter image description here"></a></p>