title: Eloquent's fillable not working with mutators
body: <p>I have a following model:</p>
  <pre><code>&lt;?php
  
  namespace App;
  
  use Illuminate\Database\Eloquent\Collection;
  use Illuminate\Database\Eloquent\Model;
  
  class PaymentOption extends Model
  {
      protected $table = 'payment_option';
      public $timestamps = false;
      protected $fillable = ['payment_option_code', 'payment_option_name'];
  
      public function setCodeAttribute($value) 
      {
          $this-&gt;attributes['payment_option_code'] = $value;
      }
  
      public function getCodeAttribute()
      {
          return $this-&gt;payment_option_code;
      }
  
      public function setNameAttribute($value)
      {
          $this-&gt;attributes['payment_option_name'] = $value;
      }
  
      public function getNameAttribute($value)
      {
          $this-&gt;payment_option_name;
      }
  }
  </code></pre>
  <p>As you can see, I have weird column names. I need mutators cause I will be accepting variables without the prefix <strong>payment_option</strong>.</p>
  <p>Now, I do it in my controller like so:</p>
  <pre><code>&lt;?php
  
  namespace App\Http\Controllers;
  
  use App\PaymentOption;
  use App\Http\Requests\PaymentOptionRequest;
  
  class PaymentOptionController extends Controller
  {
      private $paymentOption;
  
      public function __construct(PaymentOption $paymentOption)
      {
          $this-&gt;paymentOption = $paymentOption;
      }
  
  
      public function create(PaymentOptionRequest $request)
      {
          $paymentOption = $this-&gt;paymentOption-&gt;fill($request-&gt;validated());
  
          dump($paymentOption);
  
          return response()-&gt;json([]);
      }
  }
  </code></pre>
  <p>When I tried to use the fill() it doesn't call the mutators. But when I tried to set it 1 by 1 it worked like so:</p>
  <pre><code>$paymentOption-&gt;code = $validated['code'];
  </code></pre>
  <p>Why is that so?</p>
  <p>Thanks!</p>