title: Cast a date for Laravel Nova, but return my own format
body: <p>I have a Model that I want to use in Nova that has some data and datetime fields. Nova keeps complaining that I need to cast it to a Date type in my model, but I want to always return the format of dates as &quot;Y-m-d&quot; and datetimes as &quot;Y-m-d H:i:s&quot;. I tried to cast the fields, and then edit the get attribute methods as follows, but the getAttribute methods seem to overwrite the casts:</p>
  <pre><code>protected $casts = [
      'date' =&gt; 'date',
      'start_time' =&gt; 'datetime',
      'end_time' =&gt; 'datetime',
      'actual_start_time' =&gt; 'datetime',
      'actual_end_time' =&gt; 'datetime'
  ];
  
  ...
  
  public function getDateAttribute($value)
  {
      return Carbon::parse($value)-&gt;format('Y-m-d');
  }
  
  public function getStartTimeAttribute($value) {
      return Carbon::parse($value)-&gt;format('Y-m-d H:i:s');
  }
  
  public function getEndTimeAttribute($value)
  {
      return Carbon::parse($value)-&gt;format('Y-m-d H:i:s');
  }
  
  ...
  </code></pre>
  <p>How can I cast to a date so Nova will be happy, but also always return in my desired format when returning the model instance to endpoints?</p>