Laravel模型 - 如果数据库表不存在,则返回null



创建模型时,我想检查DB中是否存在该表。如果没有,那么我想返回一个null。这是为了防止在表还不存在的情况下插入记录。

在我的模型中,我尝试过这个。Schema调用返回false,但我仍然得到一个返回的模型,而不是null。

class SomeDataTable extends Model
{
public function __construct($id)
{
$this->setTable($id);
if (Schema::connection($this->connection)->hasTable($this->table) === false) {
return null;
}else{
parent::__construct();
}
}
public function setTable($id)
{
$this->table = $id.'_some_data_table';
}
}

我不确定您是否在寻找无处不在的解决方案。但我要做的是在终端中执行php aritsan migrate -m,以运行所有模型的迁移。这样,默认情况下会创建所有模型表。

最新更新