【问题标题】:Laravel 5.2 shows "The Response content must be a string or object implementing __toString(), "boolean" given" when I try to use DB::statement当我尝试使用 DB::statement 时,Laravel 5.2 显示“响应内容必须是实现 __toString()、“boolean”的字符串或对象”
【发布时间】:2016-04-27 13:18:39
【问题描述】:

我正在尝试使用 DB::statement() 方法来运行 SQL,但我无法让它工作,它在 Response.php 第 395 行显示“UnexpectedValueException: Response 内容必须是实现 __toString() 的字符串或对象,“boolean”给定。”

代码如下:

$students = DB::statement('select stu_agency,avg(stu_rank1) as avggrade from students group by stu_agency');
return $students;

【问题讨论】:

    标签: php mysql laravel


    【解决方案1】:

    DB::statement() 方法用于执行不返回值的 SQL 语句。方法本身会返回true/false

    如果要运行选择语句,则需要DB::select()

    您可以阅读Laravel Database documentation here

    【讨论】:

      【解决方案2】:

      来自docs

      某些数据库语句不应返回任何值。对于这些类型的操作,您可以使用 DB 门面的语句方法。

      你正在寻找

      $students = DB::table('students')
                        ->select('stu_agency', DB::raw('avg(stu_rank1) as avggrade'))
                        ->groupBy('stu_agency')
                        ->get();
      return $students;
      

      【讨论】:

        猜你喜欢
        • 2014-11-19
        • 1970-01-01
        • 2016-05-11
        • 2015-10-24
        • 2012-08-20
        • 2019-03-17
        • 1970-01-01
        • 2018-06-04
        • 2013-07-21
        相关资源
        最近更新 更多