【问题标题】:QueryException, ErrorException and PDOException in Connection.phpConnection.php 中的 QueryException、ErrorException 和 PDOException
【发布时间】:2017-05-18 17:19:41
【问题描述】:

我想问你是否可以帮助我解决我在新安装的 Laravel 5.4 中遇到的错误。这是我的刀片模板

home.blade.php

@extends('layouts.app') @section('content') <div class="container">
<div class="row">                           
            {{ App\StudentHistory::select(['date', 'student_id', 'grade'])
            ->where('subject', 'English')
            ->groupBy('student_id')
            ->orderBy('date','desc')
            ->first()
            ->get()}}
    </div>@endsection

让我知道你们还需要什么,我会按你的要求更新

【问题讨论】:

  • 为什么要在视图层进行数据库查询?
  • -&gt;first()上没有-&gt;get()
  • @Maerlyn,我实际上可以从控制器中做到这一点。它应该是双向的,对吧?亚历克斯,你的意思是说我不能让两者使用相同的语法?

标签: php laravel blade


【解决方案1】:

你在做 xxx->first()->get() ...

你要么调用 ->first() 得到一个对象,要么调用 ->get() 得到一个对象数组

参考https://laravel.com/docs/5.4/queries#retrieving-results

PS:我真的看不出在视图中执行这些查询的好处,这缺少 laravel 的 MVC 目标。

【讨论】:

  • 它实际上是在 PDOException "Expression #1 of SELECT list is not in GROUP BY 子句"...这有关系吗?
【解决方案2】:
  • 您正在尝试在视图中运行数据库查询,这更适合您的控制器。
  • 你不能同时使用 first() 和 get(),使用一个。
  • 您尝试直接输出查询结果,这是一个对象,即使您的查询成功也会抛出错误。

【讨论】:

    猜你喜欢
    • 2016-09-11
    • 2016-09-23
    • 1970-01-01
    • 1970-01-01
    • 2017-10-30
    • 2019-08-03
    • 2015-07-01
    • 2017-10-12
    • 2015-05-24
    相关资源
    最近更新 更多