laravel return 函数内部重定向
laravel return Redirect inside function
我的控制器上有这段代码,但是 return 不起作用,因为它在函数内部,我怎样才能让它起作用?
我这样做是为了确保数据保存在数据库中并重定向到面板。
public function save(){
.
.
.
Offer::saved(function($offer)
{
Log::info('saved');
//send email, etc.
return Redirect::to('/panel');
});
}
感谢您的帮助。
您真的需要在 saved
事件中进行重定向吗?
与此类似的东西应该有效:
public function save(){
if($offer->save()){
return Redirect::to('/panel');
}
}
(如果一切顺利,save()
将 return 为真)
但是,如果您真的需要在活动中这样做,您可以手动调用send()
到"return"响应:
Offer::saved(function($offer)
{
Log::info('saved');
Redirect::to('/panel')->send();
});
编辑
对于这样的查询:DB::table('offers')->where('id',$inputs['id'])->update($fields);
您也可以检查 return 值。 update
方法将 return 计算受影响的行数。因此,如果那是 > 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');
}
我的控制器上有这段代码,但是 return 不起作用,因为它在函数内部,我怎样才能让它起作用?
我这样做是为了确保数据保存在数据库中并重定向到面板。
public function save(){
.
.
.
Offer::saved(function($offer)
{
Log::info('saved');
//send email, etc.
return Redirect::to('/panel');
});
}
感谢您的帮助。
您真的需要在 saved
事件中进行重定向吗?
与此类似的东西应该有效:
public function save(){
if($offer->save()){
return Redirect::to('/panel');
}
}
(如果一切顺利,save()
将 return 为真)
但是,如果您真的需要在活动中这样做,您可以手动调用send()
到"return"响应:
Offer::saved(function($offer)
{
Log::info('saved');
Redirect::to('/panel')->send();
});
编辑
对于这样的查询:DB::table('offers')->where('id',$inputs['id'])->update($fields);
您也可以检查 return 值。 update
方法将 return 计算受影响的行数。因此,如果那是 > 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');
}