我尝试用其他一些领域扩展一个 extintig ˙PHP` Laravel 模型,但我没有找到正确的解决方案。我使用 PHP 7.1 和 Laravel 6.2这是我的代码,解释了我想做什么。原始模型:<?phpnamespace App;use App\Scopes\VersionControlScope;use Illuminate\Database\Eloquent\Model;class Product extends Model{ protected $fillable = [ 'product_id', 'name', 'unit', // ... } // ... relations, custom complex functions are here}正如我想象的如何扩展原始模型:<?phpnamespace App;class ProductBackup extends Product{ protected $fillable = array_merge( parent::$fillable, [ 'date_of_backup', ] ); // ...}但是现在我收到Constant expression contains invalid operations错误消息。$fillable我可以在子类中以某种方式扩展原始模型的数组吗?
1 回答
ITMISS
TA贡献1871条经验 获得超8个赞
在你的子类构造函数中,你可以使用mergeFillable来自 trait 的方法Illuminate\Database\Eloquent\Concerns\GuardsAttributes(自动适用于每个 Eloquent 模型)。
/**
* Create a new Eloquent model instance.
*
* @param array $attributes
* @return void
*/
public function __construct(array $attributes = [])
{
parent::__construct($attributes);
$this->mergeFillable(['date_of_backup']);
}
- 1 回答
- 0 关注
- 99 浏览
添加回答
举报
0/150
提交
取消