在phplaravel中,静态方法return可以布尔值吗?
In php laravel, can a static method return boolean?
我正在我的模型中编写一个方法来 return true 或 flase。以下是我的代码。
public static function isSerialRequired($id)
{
$data = static::where('user_id', $id)->orderBy('id','desc')->get();
data processing code...
if (condition for true)
return true;
return false;
}
我收到以下错误。
响应内容必须是一个字符串或对象实现 __toString(), "boolean" given
问题不在于此方法,它 return 是一个布尔值,而在于您之后对 return 值执行的操作。显然,您不小心 return 从您的控制器中编辑了该方法的结果,并且 Laravel 不喜欢这样,因为它会尝试将您的控制器 return 转换为字符串。
这就是问题所在:
return ($attempt->isSerialRequired($request['user_ID']))? view('take_serial') : view('message');
一个括号太多了,这个可行:
return ($attempt->isSerialRequired($request['user_ID']) ? view('take_serial') : view('message'));
我正在我的模型中编写一个方法来 return true 或 flase。以下是我的代码。
public static function isSerialRequired($id)
{
$data = static::where('user_id', $id)->orderBy('id','desc')->get();
data processing code...
if (condition for true)
return true;
return false;
}
我收到以下错误。
响应内容必须是一个字符串或对象实现 __toString(), "boolean" given
问题不在于此方法,它 return 是一个布尔值,而在于您之后对 return 值执行的操作。显然,您不小心 return 从您的控制器中编辑了该方法的结果,并且 Laravel 不喜欢这样,因为它会尝试将您的控制器 return 转换为字符串。
这就是问题所在:
return ($attempt->isSerialRequired($request['user_ID']))? view('take_serial') : view('message');
一个括号太多了,这个可行:
return ($attempt->isSerialRequired($request['user_ID']) ? view('take_serial') : view('message'));