我的控制器上有这个代码,但返回不起作用,因为它在一个函数内部,我怎样才能使它工作?
我这样做是为了确保数据保存在数据库中并重定向到面板。
public function save(){
.
.
.
Offer::saved(function($offer)
{
Log::info('saved');
//send email, etc.
return Redirect::to('/panel');
});
}
感谢您的帮助。
答案 0 :(得分:0)
你真的需要在saved
事件中进行重定向吗?
有些事情应该有效:
public function save(){
if($offer->save()){
return Redirect::to('/panel');
}
}
(如果一切顺利的话,save()
将返回true)
但是,如果真的需要在活动中执行此操作,您可以致电send()
至"返回"手动回复:
Offer::saved(function($offer)
{
Log::info('saved');
Redirect::to('/panel')->send();
});
对于像DB::table('offers')->where('id',$inputs['id'])->update($fields);
您也可以查看返回值。 update
方法将返回受影响行的计数。因此,如果是> 0
或 truthy ,则记录已更新。
$affectedRows = DB::table('offers')->where('id',$inputs['id'])->update($fields);
if($affectedRows){
return Redirect::to('/panel');
}
但是如果您已经设置了Eloquent模型,为什么还要使用查询生成器:
$offer = Offer::find($inputs['id']);
$saved = $offer->update($fields);
if($saved){
return Redirect::to('/panel');
}