我创建了一个 BaseModel 类,它从 Model 扩展而来。看起来一切正常,但现在我在保存时遇到了问题。我将重写此 BaseModel 中的 save() 方法。我只想在保存之前向模型添加一些属性。所以我这样做,然后调用returnparent::save($options);
。方法签名仍然相同:public function save(array $options = [])
。
在执行插入时,它似乎会获取 BaseModel 类的名称作为表名称(它使用 base_models 作为表名称),而不是正在保存的实际模型。以前有人遇到过这个吗?从模型类扩展的正确方法是什么?
我最初创建了一些特征来处理一些额外的功能,但认为创建一个基本模型并让我的模型从中扩展会是一个更好的主意。
最佳答案
在您的模型(扩展基本模型的子模型)中显式添加表名称,例如:
class SomeChildModel extends BaseModel {
// Manually set the table name
protected $table = 'table_name';
}
关于Laravel - 扩展模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33580365/