【问题标题】:The Response content must be a string or object implementing __toString(), "boolean" given. in laravel响应内容必须是实现 __toString() 的字符串或对象,给出“布尔值”。在 laravel 中
【发布时间】:2018-06-04 21:33:19
【问题描述】:

这是什么错误?

响应内容必须是字符串或对象实现 __toString(), "boolean" 给出。

public function search()
    {
        $keyword = request('search');
        $articles = Article::search($keyword)->latest()->get();
        $courses = Course::search($keyword)->latest()->get();
        return $articles or $courses;
    }

我应该说什么来代替

【问题讨论】:

标签: laravel


【解决方案1】:

您返回的是boolean,而不是string。你需要把它改成这样才能让它工作:

return $articles->isEmpty() ? $courses : $articles;

或者:

return response()->json($articles->isEmpty() ? $courses : $articles);

【讨论】:

    【解决方案2】:

    使用or是条件运算符,结果为布尔值,使用三元运算符来实现,像这样。

    public function search()
    {
        $keyword = request('search');
        $articles = Article::search($keyword)->latest()->get();
        $courses = Course::search($keyword)->latest()->get();
        return $articles ? $articles : ($courses ? $courses : '' );
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-07-21
      • 1970-01-01
      • 2019-03-17
      • 2017-08-17
      • 1970-01-01
      • 2015-10-24
      相关资源
      最近更新 更多