如何为Laravel / Eloquent模型设置默认属性值?
如果我尝试声明属性,如下所示:
public $quantity = 9;
…它不起作用,因为它不被视为“属性”,而仅仅是模型类的一个属性。不仅如此,而且我也禁止访问实际存在的“数量”属性。
那我该怎么办?
回答:
这就是我现在正在做的:
protected $defaults = array( 'quantity' => 9,
);
public function __construct(array $attributes = array())
{
$this->setRawAttributes($this->defaults, true);
parent::__construct($attributes);
}
我将其建议为PR,因此我们无需在每个Model上都声明此构造函数,并且只需$defaults
在模型中声明数组即可轻松应用…
:
正如cmfolio指出的那样, :
只需覆盖$attributes
属性!像这样:
protected $attributes = array( 'quantity' => 9,
);
这里讨论了这个问题。
以上是 如何为Laravel / Eloquent模型设置默认属性值? 的全部内容, 来源链接: utcz.com/qa/431235.html