在一些基于laravel的包中,引用了未声明的属性,但是该模型的表列的名称。
门票表:
id
name
content
和 Ticket 型号:
class Ticket extends Model {
//there is no "protected $content;" defined inside model
$this->content = foo;
......
}
是否根据模型表列动态创建模型属性?
答案 0 :(得分:2)
您需要在模型中设置$ guarded或$ fillable https://laravel.com/docs/5.1/eloquent#mass-assignment。例如:
class Ticket extends model {
protected $guarded =[];
}
这样您就可以访问所有表格列并进行更新。
class Ticket extends model {
protected $fillable = ['name', 'content'];
}
这样,您就可以访问name
和content
列,并仅使用它们。
答案 1 :(得分:0)
根据映射的数据库表列隐式声明模型属性。
您可以显式声明匹配表
protected $table = 'tablename';