【问题标题】:Laravel Eloquent Won't Display QueryLaravel Eloquent 不会显示查询
【发布时间】:2018-06-20 00:15:23
【问题描述】:

我已成功在我的应用程序的某个部分显示了一个表中的数据,但数据不会显示在另一部分中。我想包括那一年获胜球队的记录。当我的视图应该返回一个整数时,它什么也不返回。我正在使用 laravel 5.6。

控制器

$seasonOneWins=gameData::where('homeTeam', '81-North Stars')
                      ->where('homeWin', '1')
                      ->where('year', '2016'); 

查看:

@if($seasonOneWins)
   @foreach($seasonOneWins as $seasonOneWin)
     <p>{!!$seasonOneWin!!}<p>
   @endforeach
@endif

我无法在 foreach 之间显示任何内容。我认为这意味着我的公式表明,当我知道有这些要求时,没有任何东西可以满足这些要求。

【问题讨论】:

  • 我尝试从我的代码的另一部分复制确切的雄辩方程,但它仍然没有显示任何内容。让我相信我的观点有问题?
  • 尝试在您的 eloquent 查询中添加 get() 方法? $seasonOneWins=gameData::where('homeTeam', '81-North Stars')->where('homeWin', '1')->where('year', '2016')->get();
  • 正如@Joseph 上面提到的,您在查询链中缺少一种方法。您最后缺少 ->get() 方法。
  • 好吧,我发现我的 81-North 应该是 81 North,但我想显示获胜次数。所以我想显示数组中“gets”或实例的数量。有什么建议么?计数似乎不起作用。
  • 另外,我支持你,但仍然是菜鸟,不能公开投下它

标签: php database laravel eloquent


【解决方案1】:

在查询中使用get() 方法返回这样的集合

$seasonOneWins = gameData::where('homeTeam', '81-North Stars')
    ->where('homeWin', '1')
    ->where('year', '2016')
    ->get();

之后,您可以循环到您的查询返回的集合。

阅读文档here。

【讨论】:

    【解决方案2】:

    所以这是一个误解。我一直尝试在 foreach 上使用 count(),这导致了错误。我认为我的语法错误,而不是我应该编码的 foreach():

    查看

       <p>   {!!$seasonOneWins!!}<p>
    

    控制器

       $seasonOneWins=GameData::where('team', '81 North Stars')
       ->where('win', '1')
       ->where('year', 2016)
       ->count();  
    

    【讨论】:

      猜你喜欢
      • 2017-04-29
      • 2017-10-22
      • 2015-02-22
      • 2017-06-05
      • 1970-01-01
      • 1970-01-01
      • 2015-02-13
      • 2021-09-20
      • 1970-01-01
      相关资源
      最近更新 更多