1
我想要做的是当一个新的候选人创建一个额外的字段自动填充连接数据透视表中随机刺。Laravel 5枢轴表额外字段
这里是我的透视表:
结果表(支点)
id cert_number candidate_id qualification_id
1 ? 17 2
2 ? 17 1
3 ? 57 1
在我的候选控制器
所以我必须:
public function store(CandidateRequest $request)
{
$candidateInput = Input::get('candidates');
foreach ($candidateInput as $candidate)
{
$candidate = Candidate::create($candidate);
$candidate->centre()->attach(Auth::user()->centre);
$qualification_id = $request->input('qualification_id');
$candidate->qualification()->attach($qualification_id);
$cert_number = Str::random(10);
$candidate->qualification()->attach($cert_number);
}
return redirect('candidates');
}
它添加centre_id和完美qualification_id但它不会将随机刺入拉到cert_nubmer字段中。
在我的候选模型我有
public function result()
{
return $this->hasMany('App\Result')->withTimestamps();
}
public function qualification()
{
return $this->belongsToMany('App\Qualification', 'Results', 'candidate_id', 'qualification_id')->withPivot('status','cert_number','partial_claim')->withTimestamps();
}
,并在我的合成模型:
public function candidate()
{
return $this->belongsTo('App\Candidate')->withTimestamps();
}
public function qualification()
{
return $this->belongsTo('App\Qualification');
}
任何人都可以看到我要去错了吗?
谢谢。
如果你这样做,输出是什么:'dd($ cert_number)'? – Phorce
“nbRLEUFuqA”因此,它生成一个随机字符串只是不传递它 – 0w3n86
这是错误:SQLSTATE [23000]:完整性约束违规:1452无法添加或更新子行:外键约束失败('vault3'。 (结果),CONSTRAINT'result_qualification_id_foreign' FOREIGN KEY('qualification_id')REFERENCES'qualifications'('id'))(SQL:insert into'Results'('candidate_id','created_at','qualification_id','updated_at')值(412,2015-11-16 16:41:19,A1WzVHh1OX,2015-11-16 16:41:19)) – 0w3n86