这个错误是什么?
Response内容必须是实现__toString()的字符串或对象,给出“boolean”。
public function search()
{
$keyword = request('search');
$articles = Article::search($keyword)->latest()->get();
$courses = Course::search($keyword)->latest()->get();
return $articles or $courses;
}
我该怎么说而不是?
使用or
是条件运算符,它将在结果中给出布尔值,使用三元运算符来实现,就像这样。
public function search()
{
$keyword = request('search');
$articles = Article::search($keyword)->latest()->get();
$courses = Course::search($keyword)->latest()->get();
return $articles ? $articles : ($courses ? $courses : '' );
}
你将返回一个boolean
而不是string
。您需要将其更改为类似的内容才能使其正常工作:
return $articles->isEmpty() ? $courses : $articles;
要么:
return response()->json($articles->isEmpty() ? $courses : $articles);