我不明白为什么在插入新的邮政编码并使用laravel的eloquent belongsToMany功能将其关联到现有公司时发生此错误。
这是我的设置:
误差
file: "...vendorlaravelframeworksrcIlluminateDatabaseEloquentModel.php"
line: 411
message: "postcode"
type: "IlluminateDatabaseEloquentMassAssignmentException"
Insertcode
$postcode = new Postcode(array('postcode' => $data['plz']));
Company::find($data['id'])->postcodes()->save($postcode);
<公司模型/strong>
class Company extends Eloquent {
public function postcodes()
{
return $this->belongsToMany('Postcode');
}
}
<邮政编码模型/strong>
class Postcode extends Eloquent {
public function companies()
{
return $this->belongsToMany('Company');
}
}
表邮编
| id | postcode |
表 company_postcode
| id | postcode_id | company_id |
公司表
| id | name |
有人知道为什么这不起作用吗?
错误提示
MassAssignmentException
这是因为你试图对postcode
new Postcode(array('postcode' => $data['plz']));
确保将邮政编码变量列入可大规模分配的白名单
class Company extends Eloquent {
protected $fillable = array('postcode');
public function postcodes()
{
return $this->belongsToMany('Postcode');
}
}