2016-09-06 8 views
-2

Ich habe Probleme mit der Anzeige von Inhalten, abhängig davon, ob eine Array-Eigenschaft einen Wert hat oder nicht. Wenn ein Artikel einen Titel hat, möchte ich den Inhalt des gesamten Artikels anzeigen, wenn nicht, möchte ich etwas anderes zeigen. Es funktioniert jedoch nicht. Der Code in der Else-Anweisung wird nicht ausgeführt.Laravel Überprüfen, ob Array leer ist

Was ist hier falsch?

mein Code:

@foreach($restaurantmenue as $daily) 
        @foreach($daily->articles as $menue) 
        @if(!empty($menue->title)) 
         <div class="card card-horizontal"> 
         <div class="row"> 
          <div class="col-md-5"> 
          <div class="image" style="background-image: url({{asset('images/frontend/profile/profileHero.jpg')}}); background-size: cover; background-position: center center;"> 
           <img src="{{asset('images/frontend/profile/profileHero.jpg')}}" alt="..." style="display: none;"> 
           <div class="filter filter-azure"> 
           <button type="button" class="btn btn-neutral btn-round"> 
            <i class="fa fa-heart"></i> SMÄCKT MIR 
           </button> 
           </div> 
          </div> 
          </div> 
          <div class="col-md-7"> 
           <div class="content"> 
            <p class="category text-info"> 
             <i class="fa fa-trophy"></i> Best of 
            </p> 

            <a class="card-link" href="#"> 
             <h4 class="title">{{$menue->title}} </h4> 
            </a> 
            <a class="card-link" href="#"> 
             <p class="description">{{$menue->body}}</p> 
             <br /> 
             {{$menue->price}} € 
            </a> 
            <div class="footer"> 
             <div class="stats"> 
              <a class="card-link" href="#"> 
               <i class="fa fa-male"></i> {{$restaurant->name}} 
              </a> 
             </div> 
             <div class="stats"> 
             <a class="card-link" href="#"> 
              <i class="fa fa-comments"></i> 23 Comments 
             </a> 
             </div> 
             <div class="stats"> 
              <a class="card-link" href="#"> 
              <i class="fa fa-heart"></i> 231 Likes 
              </a> 
             </div> 
            </div> 
           </div> 
          </div> 
         </div> 
         </div> 
         @else 
         No Articles for Today 
        @endif 
        @endforeach 
       @endforeach 
+0

legte ein print_r ($ Menü) durch die Linie @if ersetzen (! Empty ($ menue-> title)) und Scheck der Inhalt. –

+0

Das ist die Ausgabe: App \ Article Objekt ([fillable: protected] => Array ([0] => title [1] => body [2] => price [3] => facebook_page_id [4] ... – Mamulasa

+0

es könnte etwas sein versuchen mit 'isset' –

Antwort

-1

Hoffnung dies könnte Ihnen helfen.

$processes = [1, 2, 4, 5]; 
$maintenance = [1, 2, 3, 4, 5]; 

$array_value = function ($value, $array) { 
    $str = "$value"; 
    if (in_array($str, $array)) { 
     echo 5; 
    } else { 
     echo 1; 
    } 
}; 

foreach ($maintenance as $m) { 
    $array_value ($m, $processes); 
} 

Im Grunde bin ich den Vergleich von zwei Arrays und Anzeige 5, wenn die Daten auf der anderen Array gefunden

2

Wenn Sie Daten unter Verwendung von ORM in Laravel wie

$data = \App\Model::get(); 

bekommen, dann können Sie prüfen, ob die $data leer ist oder nicht, wie folgend:

@if(!$data->isEmpty()) 
    // $data is not empty 
@else 
    // $data is empty 
@endif 

Referenz: Check Here

Aber wenn Sie find oder findOrFail verwenden, dann können Sie Array als

$data = \App\Model::findOrFail($id); 


@if(!empty($data)) 
    // $data is not empty 
@else 
    // $data is empty 
@endif 
+0

Ich benutze // Show Daily Dishes für das aktuelle Profil $ restaurantmenue = Benutzer :: wo ('id', $ id) -> mit (['artikel' => funktion ($ q) { $ q-> nowpublished(); }]) -> get(); – Mamulasa

+0

Sie können '$ restaurantmenue-> isEmpty()' verwenden, um zu überprüfen, ob das Array leer ist oder nicht – sixFingersMan

+0

Der Code der else-Anweisung wird immer noch nicht ausgeführt. – Mamulasa

-1

Nun überprüfen, wird der Code ausgeführt, wenn der Artikel nicht leer ist. Aber der Code in der else-Anweisung wird immer noch nicht ausgeführt. Ich kann immer noch nicht die „kein Artikel“ Meldung anzeigen es sind keine Artikel verfügbar

@if(!$restaurantmenue->isEmpty()) 
        @foreach($restaurantmenue as $daily) 
         @foreach($daily->articles as $menue) 

          <div class="card card-horizontal"> 
          <div class="row"> 
           <div class="col-md-5"> 
           <div class="image" style="background-image: url({{asset('images/frontend/profile/profileHero.jpg')}}); background-size: cover; background-position: center center;"> 
            <img src="{{asset('images/frontend/profile/profileHero.jpg')}}" alt="..." style="display: none;"> 
            <div class="filter filter-azure"> 
            <button type="button" class="btn btn-neutral btn-round"> 
             <i class="fa fa-heart"></i> SMÄCKT MIR 
            </button> 
            </div> 
           </div> 
           </div> 
           <div class="col-md-7"> 
            <div class="content"> 
             <p class="category text-info"> 
              <i class="fa fa-trophy"></i> Best of 
             </p> 

             <a class="card-link" href="#"> 
              <h4 class="title">{{$menue->title}} </h4> 
             </a> 
             <a class="card-link" href="#"> 
              <p class="description">{{$menue->body}}</p> 
              <br /> 
              {{$menue->price}} € 
             </a> 
             <div class="footer"> 
              <div class="stats"> 
               <a class="card-link" href="#"> 
                <i class="fa fa-male"></i> {{$restaurant->name}} 
               </a> 
              </div> 
              <div class="stats"> 
              <a class="card-link" href="#"> 
               <i class="fa fa-comments"></i> 23 Comments 
              </a> 
              </div> 
              <div class="stats"> 
               <a class="card-link" href="#"> 
               <i class="fa fa-heart"></i> 231 Likes 
               </a> 
              </div> 
             </div> 
            </div> 
           </div> 
          </div> 
          </div> 



         @endforeach 
        @endforeach 
        @else 
        no article 
       @endif