在这种情况下,我们有 3 个表:
tasks (task_id, task_title,task_type)
managers (manager_id, manager_title, manager_type)
assigners (task_id, manager_id)
在TaskController.php
,我有一个 store 方法来创建新任务
public function store() {
$input = Input::all();
$this->task->create($input);
return Redirect::route('tasks.index');}
这是我想要实现的目标:
- 将新创建的任务值传递给事件
task.created
, - 将新任务标题
$task->task_title
与 any进行比较$manager->manager_title
,如果找到任何匹配项 ($task->task_title
LIKE$manager->manager_title
),然后将匹配的$task->task_id
和$manager->manager_id
作为数组传递给另一个事件, 在位于 start/global 的事件侦听器中,它将使用从 step2 接收的值在分配器表中创建新记录。事件侦听器编写如下:
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 步?(可能找到多个匹配项)