4
我使用内Laravel 5.4 口才车型在本文档中,我看到:Laravel/Eloquent建议覆盖特征属性?
您还可以使用create方法来保存新模式单一 线。插入的模型实例将从 方法返回给您。但是,在这样做之前,您需要在模型上指定 可填写或保护属性,因为默认情况下所有Eloquent模型 都可以防止批量分配。
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Flight extends Model
{
/**
* The attributes that are mass assignable.
*
* @var array
*/
protected $fillable = ['name'];
}
然而,$可填充属性在所有车型使用的特点已经定义:
trait GuardsAttributes
{
/**
* The attributes that are mass assignable.
*
* @var array
*/
protected $fillable = [];
...
的PHP文件是清楚的特质属性:
如果trait定义了一个属性,那么类不能定义一个名称相同的属性 ,否则会发出错误。这是一个E_STRICT,如果 类定义兼容(相同的可见性和初始值) 否则致命错误。
Laravel文档是否存在对adivsed实现的错误?
两个都不对。你有班级A,你在班上使用特质。特质=语言辅助复制粘贴。 'A'类不能包含'protected $ fillable' - 它不会,因为你的类'A'是'Illuminate \ Database \ Eloquent \ Model'。到目前为止这么好 - 但现在你扩展了'Model',你可以覆盖'protected $ fillable'属性。继承规则允许这样做。你的问题是有效的,但都是文件摘录。 – Mjh