Php 调用未定义的函数Laravel

Php 调用未定义的函数Laravel,php,laravel-5,controller,Php,Laravel 5,Controller,我在检查集合是否为空时遇到问题,Laravel给了我错误信息 “调用未定义的方法 照亮\Database\Query\Builder::isEmpty() 虽然它在其他控制器中工作,但当控制器在子文件夹中时,它会突然停止工作 这是我的密码: $group = UserGroup::where('id', $request->group_id)->first(); if($group->isEmpty()){ // I get error from here

我在检查集合是否为空时遇到问题,Laravel给了我错误信息

“调用未定义的方法 照亮\Database\Query\Builder::isEmpty()

虽然它在其他控制器中工作,但当控制器在子文件夹中时,它会突然停止工作

这是我的密码:

$group = UserGroup::where('id', $request->group_id)->first();
    if($group->isEmpty()){ // I get error from here
      return redirect()->back();
    }

PHP中最流行的一种调试方式仍然保持不变——在浏览器中显示变量,希望找到错误所在。Laravel有一个用于显示变量的特定短助手函数–
dd()
–代表
“转储和死亡”
,但它并不总是很方便。还有什么其他选择

请注意,下面提到的方法用于查找我们的类失败的地方,以及执行查询后可用的所有条件。在打印之前,我们的预期结果是什么。这种方法是根据is要求找出错误的最佳方法

首先,dd()有什么问题?假设我们想从DB表中获取所有行并转储它们:

$methods = PaymentMethod::all();
dd($methods);
我们希望看到这样的情况:

但你明白了——要查看实际值,我们需要再单击三次,如果没有这些操作,我们就看不到完整的结果。起初我想–也许dd()函数有一些参数?不幸的是没有。那么,让我们看看其他选项:

var_dump()和die():

显示任何类型数据的好方法:

$methods = PaymentMethod::all();
var_dump($methods);
die();
我们现在看到:

但还有更具可读性的方法

另一个PHP内置函数
print\u r()
对我们有一个完美的描述:“打印有关变量的可读信息”

$methods = PaymentMethod::all();
print_r($methods);
die();
然后转到浏览器的查看源…我们得到以下结果:

现在我们可以轻松地阅读内容并尝试调查错误

此外,
print\u r()
函数还有另一个可选参数,该参数的值为真/假–您不仅可以回显变量,还可以将其作为字符串返回到另一个变量中。然后,您可以将多个变量组合成一个变量,并可能将其记录在某个位置,例如


因此,在这样的情况下,
dd()
就不那么方便了——PHP本机函数起到了解救作用。但是如果您想让脚本字面上“转储一个简单变量并死亡”–那么
dd($var)可能是最快键入的

此函数未定义,您需要检查它
var\u dump($group)我用->find()得到相同的结果isEmpty()被描述为返回true或false,不会导致错误。它可能在5.2中从雄辩中删除了吗?