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