Eloquent中的保留列名称

时间:2016-05-23 17:07:31

标签: laravel laravel-5 eloquent laravel-5.2 reserved-words

从粗略看看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

问题:

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

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

$changes似乎也是保留名称。