Eloquent中的保留列名称

Tob*_*bia 5 reserved-words laravel eloquent laravel-5 laravel-5.2

从粗略的看看Illuminate\Database\Eloquent\Model我可以看到以下实例属性:

protected $connection
protected $table
protected $primaryKey
protected $perPage
public    $incrementing
public    $timestamps
protected $attributes
protected $original
protected $relations
protected $hidden
protected $visible
protected $appends
protected $fillable
protected $guarded
protected $dates
protected $dateFormat
protected $casts
protected $touches
protected $observables
protected $with
protected $morphClass
public    $exists
public    $wasRecentlyCreated
Run Code Online (Sandbox Code Playgroud)

问题:

  • 为什么这些东西不是static,因为它们是类级配置的东西?
  • 这是否意味着我不能将这些名称用于我的表列?
  • 是否有一个不能用作表格列的官方名单?
  • 如果我的遗留表中包含这样的列,该怎么办?
  • 谁想出了这个天才的想法?

Wal*_*lla 1

这些属性不能是静态的,因为它们用作模型配置。如果您在模型类中重写它们,则可以定义自己的参数,如果没有,Eloquent 认为它应该使用默认值。是的,表中的列名称不应与这些属性之一的名称相匹配。