laravel api的一个函数中有两个返回

时间:2017-01-09 20:01:34

标签: php laravel api

在laravel api中,第一次返回是否会破坏函数并且不会让它继续执行函数的其余部分?

我有这个功能

public function get(Request $request)
{ 
    $users = User::doesntHave('reservations')->get();
    if ($users) {
       return Response::json($users);
 }
     // do something here if no users attached with reservation and do 
    // return Response::json($users);
}

当我这样做时,我没有数据!我的错是什么?

2 个答案:

答案 0 :(得分:1)

我想你想要的是检查结果是否为空:

if (!$users->isEmpty()) {
    return Response::json($users);
}

return Response::json('There is no result');

是的,你只能回复一次。

答案 1 :(得分:1)

这不是Laravel独有的,但是是的。 return语句per definition将立即返回函数的调用者,因此不会执行其他任何操作。

  

如果在函数内调用,则return语句立即结束当前函数的执行,并返回其参数作为函数调用的值。 return也结束了eval()语句或脚本文件的执行。