如何在Model中使用构造方法

时间:2018-01-02 02:08:32

标签: php laravel laravel-5

我是laravel的新手。我想在我的模型中覆盖构造方法,但是,当我尝试在模型中使用构造方法时,它会返回一个错误Call to undefined method Illuminate\Database\Query\Builder::construct()

使用__construct方法的目的是我想动态使用数据库表。

有什么问题?怎么可以避免这个错误?

模型

class Custom extends Model
{
protected $guarded = ['id', 'ct'];

const UPDATED_AT = null;
const CREATED_AT = 'ct';

public function __construct(string $tableName = null, array $attributes = []) {

    $this->setTable($tableName);

    parent::construct($attributes);
}

}

控制器

$custom = new Custom($tableName);
$result = $custom->create($data);

1 个答案:

答案 0 :(得分:4)

您可能意味着使用parent::__construct($attributes);代替parent::construct($attributes);。没有construct方法,就像错误消息所说的那样。