【发布时间】:2013-05-25 06:03:45
【问题描述】:
在这种情况下,我们有 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与任何$manager->manager_title进行比较,如果找到任何匹配项($task->task_titleLIKE$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步? (可能找到多个匹配项)
【问题讨论】:
标签: php laravel laravel-4 eloquent