访问laravel中的count()函数
我一直在遵循一个教程,该教程向我展示了我可以将数据库表中所有记录的详细信息传递给如下视图:访问laravel中的count()函数,laravel,count,laravel-4,eloquent,Laravel,Count,Laravel 4,Eloquent,我一直在遵循一个教程,该教程向我展示了我可以将数据库表中所有记录的详细信息传递给如下视图: $teams = $this->team->all(); $teams = Team::where('league_id', $id)->get(); 在视图中有一段代码说 @if ($teams->count()) 这很好。。。如果有$teams,则执行下一步 当我想将我的查询细化为以下内容时,就会出现问题(我将$id传递给控制器): 简单地说,这样做后,视图中的count
$teams = $this->team->all();
$teams = Team::where('league_id', $id)->get();
在视图中有一段代码说
@if ($teams->count())
这很好。。。如果有$teams,则执行下一步
当我想将我的查询细化为以下内容时,就会出现问题(我将$id传递给控制器):
简单地说,这样做后,视图中的count()函数将不再可用。
我已经在生成的$teams数组上打印了r($teams),第一个数组中有更多的可用信息,但我想知道是否有人可以帮助我理解为什么count()ins不可用以及如何“恢复”
非常感谢。
DS从查询的外观来看,我猜您没有使用Eloquent,您使用的是本机查询生成器 因此,如果您计划使用Elount,假设您有一个
团队
模型,如下所示:
$teams = $this->team->all();
$teams = Team::where('league_id', $id)->get();
这将返回illumb\Database\elount\Collection
(一个子类illumb\Support\Collection
)的实例。这里可以使用$teams->count()
但是,您在那里使用的查询生成器返回一个stdClass
对象数组
因此,您可以将其视为一个数组,也可以在检索团队的位置简单地添加新行:
$teams = new Illuminate\Support\Collection($teams);
您又回到了业务中。$teams=Team::where。。。。这正是我希望找到的。非常感谢。DS