title: Laravel Job class has incomplete passed model
body: <p>I am trying to pass a model to job class and when the model is sent to job class, it's incomplete there. What I mean is that it shows only two attributes there instead of 10. <code>$queue_match</code> is complete model (all attributes included, everything is fine) but when it is sent to Job class, then I only see two attributes.
  PS: I have included my model at the top of Job class, </p>
  
  <pre><code>$z = dispatch(new updateMatchStatus($queue_match))-&gt;onConnection('database')-&gt;delay(now()-&gt;addMinutes('1'));
  </code></pre>
  
  <pre><code>
  namespace App\Jobs;
  
  use App\Http\Controllers\AdminController;
  use App\Models\Match;
  use Carbon\Carbon;
  use Illuminate\Bus\Queueable;
  use Illuminate\Contracts\Queue\ShouldQueue;
  use Illuminate\Foundation\Bus\Dispatchable;
  use Illuminate\Queue\InteractsWithQueue;
  use Illuminate\Queue\SerializesModels;
  
  class updateMatchStatus implements ShouldQueue
  {
      use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;
  
      protected $queue_match;
  
      /**
       * Create a new job instance.
       *
       * @return void
       */
      public function __construct(Match $queue_match)
      {
          //
          $this-&gt;queue_match = $queue_match;
  //        dd($queue_match);
      }
  
      /**
       * Execute the job.
       *
       * @return void
       */
      public function handle(Match $queue_match)
      {
  
              $now = Carbon::now('PKT');
              $now = Carbon::parse($now, 'PKT')-&gt;startOfMinute();
  
              //  registration close hack, will set Match status to F 30 mins before due time.
              $now = $now-&gt;addMinutes(30);
              $due_time =  Carbon::parse($queue_match-&gt;due_time, 'PKT');
  
              if ($now-&gt;greaterThan($due_time)) {
                  $queue_match-&gt;status = 'F';
  //                dd($queue_match);
                  $queue_match-&gt;save();
              }
      }
  }
  </code></pre>
  
  <p><a href="https://i.stack.imgur.com/wmoJS.png" rel="nofollow noreferrer">just two attributes in Screenshot</a></p>
  
  <p>As requested, Here is Match Class</p>
  
  <pre><code>&lt;?php
  
  namespace App\Models;
  
  use Illuminate\Database\Eloquent\Model;
  
  class Match extends Model
  {
      //
      /**
       * The attributes that are mass assignable.
       *
       * @var array
       */
      protected $fillable = [
          'platform', 'category', 'map', 'fee', 'is_elite', 'due_time', 'status'
      ];
  
      public function getPlatformAttribute($value) {
          if ($value == 'M') {
              return $value ."obile";
          }
          else {
              return $value ."mulator";
          }
  
      }
  
  //    default attributes
      protected $attributes= [
          'status' =&gt; 'A',
          'is_elite' =&gt; false
      ];
  
      /**
       * The attributes that should be hidden for arrays.
       *
       * @var array
       */
  //    hidden fields for return response
      protected $hidden = [
          'created_at', 'updated_at',
  
      ];
  
      /**
       * The attributes that should be cast to native types.
       *
       * @var array
       */
      protected $casts = [
  
      ];
  
      public function registrations() {
          return $this-&gt;hasMany('App\Models\Registration', 'match_id', 'id');
      }
  
      public function results() {
          return $this-&gt;hasMany('App\Models\Result', 'match_id', 'id');
      }
  }
  
  </code></pre>
  
  <p>AND, this is how I get the <code>$queue_match</code> which is passed to job.</p>
  
  <pre><code>$queue_match = Match::create([
      'category' =&gt; $request['category'],
      'platform' =&gt; $request['platform'],
      'map' =&gt; $request['map'],
      'fee' =&gt; $request['fee'],
      'due_time' =&gt; $request['due_time'],
  ]);
  </code></pre>