如何为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

回到顶部