2017-03-14 50 views
2

我想在我的控制器來處理不存在的變量,如果數據庫爲空,將返回一個視圖,而無需任何變量:嫩枝`變量不exist`儘管無法打印它錯誤

if(!$votes->findOneById(1) || !$images->findOneById(1)){ 
    return $this->render('admin/stats_and_images.html.twig'); 
} 

return $this->render('admin/stats_and_images.html.twig', [ 
    'images' => $images->countVotesForAllImages(), 
    'image_podium' => $images->getTopNImages(3), 
    'form' => $form->createView(), 
    'votesToday' => $votes->votesToday(), 
    'votesMonth' => $votes->votesMonth(), 
    'votesTotal' => $votes->votesTotal() 
]); 

而且在我看來,我想處理像這樣缺乏變量:

 {% if (votesTotal[0][1] is defined) and (votesToday[0][1] is defined) and (votesMonth[0][1] is defined) %} 

      <div class="col-md-6"> 
       <h4 class="sub-section--header">Liczba Oddanych Głosów:</h4> 
       <hr> 
       <p> 
       <div class="col-sm-6"> 
        Dzisiaj: 
        <span class="text-info large-num">{{ votesToday[0][1] }}</span> 
       </div> 

       <div class="col-sm-6"> 
        Ten miesiąc: 
        <span class="text-info large-num">{{ votesMonth[0][1] }}</span> 
       </div> 
       </p> 
       <p> 
        <strong>Głosów ogółem: </strong><span class="text-info large-num">{{ votesTotal[0][1] }}</span> 
       </p> 
      </div> 
      <div class="col-md-6"> 
       <h4 class="sub-section--header">Wygrywające zdjęcia:</h4> 
       <p class="text-muted">Ten miesiąc</p> 
       <hr> 
       <div class="row text-center"> 
        <div class="col-md-4"> 
         <a 
          href="{{ asset("uploads/"~image_podium[0][0].fileName) }}" 
          target="blank"> 
          <img 
           src="{{ asset("uploads/"~image_podium[0][0].fileName) | imagine_filter('my_thumb') }}" alt="{{image_podium[0][0].title}}" 
           class="site-thumbnail" 
           title="{{image_podium[0][0].title}} - {{image_podium[0][0].author}}"> 
         </a> 
         <p><strong>Głosów: {{image_podium[0]['votes']}}</strong></p> 
        </div> 
        <div class="col-md-4"> 
         <a 
          href="{{ asset("uploads/"~image_podium[1][0].fileName) }}" 
          target="blank"> 
          <img 
           src="{{ asset("uploads/"~image_podium[1][0].fileName) | imagine_filter('my_thumb') }}" alt="{{image_podium[1][0].title}}" 
           class="site-thumbnail" 
           title="{{image_podium[1][0].title}} - {{image_podium[1][0].author}}"> 
         </a> 
         <p>Głosów: {{image_podium[1]['votes']}}</p> 
        </div> 
        <div class="col-md-4"> 
         <a 
          href="{{ asset("uploads/"~image_podium[2][0].fileName) }}" 
          target="blank"> 
          <img 
           src="{{ asset("uploads/"~image_podium[2][0].fileName) | imagine_filter('my_thumb') }}" alt="{{image_podium[2][0].title}}" 
           class="site-thumbnail" 
           title="{{image_podium[2][0].title}} - {{image_podium[2][0].author}}"> 
         </a> 
         <p>Głosów: {{image_podium[2]['votes']}}</p> 
        </div> 
       </div> 
      </div> 
     {% else %} 
      <h2 class="text-danger text-center"> 
       No votes at the moment :) 
      </h2> 
     {% endif %} 

但還是不顧一切三個方面的嚴格要求來定義我得到這個:

變量「votesToday」不存在。

並指向<span class="text-info large-num">{{ votesToday[0][1] }}</span>部分視圖。

爲什麼會這樣發生?如何避免?

+1

可以在你的Twig文件中添加一個'{{dump(votesToday)}}'並編輯你的帖子以顯示那些轉儲?必須使用'app_dev.php' URL完成。 –

+0

確保您沒有使用模板的緩存版本。您的[code](https://twigfiddle.com/bt168s)按原樣運行。 (剛剛刪除了assest函數,想像fitler) – DarkBee

+0

好吧,如果「votesToday」沒有退出你可能有一個錯字或特殊字符或這樣的話,也許它可以工作,如果你從這裏複製它? –

回答

0

送$票對小枝與{{轉儲(票)}}

檢查,如果它是一個學說實體,請檢查您的getter。也許是$ votes-> getVotesToday()