2017-03-12 17 views
1

私はピボットテーブルemployee_projectを持っています。それにはid、employee_id、project_idがあります。Laravel - ピボットテーブルの挿入/更新

各プロジェクトには、アカウントマネージャーとプロジェクトマネージャーがあります。だから私のフォームでは、私はproject_idにidを追加すべき名前(プロジェクト用)があり、私はまた、employee_idを参照するam_idとpm_idを持っています。これらのIDは、employee_idとは異なる名前が付けられているため、ピボットテーブルにどのように取得するのですか?

これは動作しません:

$p = Project::create($request->all()); 

$p->employees()->sync(['am_id', 'pm_id']); 

私は違った何をすべきか?

表構造

--projects 
id 
name 
stage 
status 
timestamps 

--employees 
id 
name 
department 

--employee_project 
id 
employee_id 
project_id 
+0

をあなたのテーブル構造を投稿してください。 –

+0

@TimBiegeleisenテーブル構造が追加されました。 – robk27

答えて

2

ネーミングとにかくEMPLOYEE_IDれるアレイ内部matter.The値をdoesnot。 $p->employees()->sync([1,2]);が動作するはずです。 am_idpm_idを文字列として渡していますか?

はして試してみてください。

$p->employees()->sync([$request->am_id, $request->pm_id]); 
+0

ありがとうSanzeeb .... that worked!私は前もって$リクエストをしなければならないことに気付かなかった。私はそれが自分自身を拾うだろうと知っていたと思った。 – robk27

関連する問題