この場合、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_title
LIKE$manager->manager_title
)、一致した$task->task_id
and$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を達成するには?(複数の一致が見つかった可能性があります)