この場合、3 つのテーブルがあります。
tasks (task_id, task_title,task_type)
managers (manager_id, manager_title, manager_type)
assigners (task_id, manager_id)
にはTaskController.php、新しいタスクを作成するストア メソッドがあります。
public function store() {
$input = Input::all();
$this->task->create($input);
return Redirect::route('tasks.index');}
これが私が達成したいことです:
- 新しく作成されたタスクの値を event
task.createdに渡します。 - 新しいタスクのタイトル
$task->task_titleを any と比較し、$manager->manager_title一致するものが見つかった場合 ($task->task_titleLIKE$manager->manager_title)、一致した$task->task_idand$manager->manager_idを配列として別のイベントに渡します。 start/global にあるイベント リスナーでは、ステップ 2 から受け取った値を使用して assigners テーブルに新しいレコードが作成されます。イベント リスナーは次のように記述されます。
Event::listen('task.created',function($param1,$param2){ $new_assigner = new Assigner; $assigner->task_id = $param1; $assigner->manager_id = $param2; $new_assigner->save(); });
私の質問:
- ステップ 1 でイベントを発生させる場所 (TaskController?) と、渡す値として使用する必要のあるパラメーター ($this->task?)
- ステップ2を達成するには?(複数の一致が見つかった可能性があります)