Laravel:事件监听器,getinsertid

时间:2014-03-21 01:03:03

标签: php laravel-4

我无法实现Laravel的事件监听器以获取我保存到我的数据库中的最后一个标题。每次他们使用记录的{id}将标题插入我的数据库时,我想向用户发送一封电子邮件。我不认为我正在从create()函数中正确地返回{id}。

public function store()
{
    $input = Input::except('_token');

    $this->title->create($input);

            $input['email'] = $email;  
            $this->mailer->sendMail($email, $id);
    return Redirect::back()->withSuccess( trans('main.created successfully') );
}


public function create(array $input)
    {
        foreach ($input as $k => $v)
        {
            $this->title->$k = $v;
        }

        $this->title->save();

           return $id = $title->id;

        Event::fire('Titles.Created', array($this->title, Carbon::now()));
    }

1 个答案:

答案 0 :(得分:0)

有一些明显的问题,例如:

  • 事件直到create方法返回后才被触发
  • store()方法尝试传递未设置的$ id
  • create()尝试在$ title未设置时将$ id设置为$ title-> id

但是,如果没有关于这些方法在您的应用程序中的位置以及它们各自与$ this-> title相关的信息,很难确定如何纠正这些问题。