Laravel4.2.8>多对多>创建新的相关模型并附加>错误



我不明白为什么在插入新的邮政编码并使用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');
    }
}

最新更新