分表Model问题

我有很多表,表名 a1,a2,a3,a4 表结构有一些不同。
但是都想用一个Model 如 A

我试过新增数据用

$add=[
    'name'=>'张三'
];
$model = new A($add);
$model->setTable('a1');
$model->save();

修改数据

$add=[
    'name'=>'张三'
];
$model = new A();
$model->setTable('a1');
$model->where('id', 1)->update($add);

但是做到队列表时候,就死了

$model = new A();
$model->setTable('a1');
$data=$model->where('id', 1)->first();
$job = (new ActivityRegistered($data));
dispatch($job);

/app/Jobs/ActivityRegistered.php

    public $data;

    public function __construct(A $data)
    {
        $this->data = $data;
    }

    public function handle()
    {
        \Log::info($this->data->id);
    }

这个就输不出来了,

Stack trace:

提示我a表没有,是因为我的Model是

class A extends Model
{
    protected $table = 'a';
    protected $guarded = ['id', 'created_at', 'updated_at', 'mobile_info'];//不能被批量赋值的属性
    protected $casts = [
        'mobile_info' => 'json',
        'visitors'    => 'json'
    ];
}

想问一下有什么思路来帮我做分表处理。

  • a1,a2,a3表常用model功能可以用

  • 可以使用队列