2016-07-14 3 views
0

Hellow Jungs, Im 2 Variablen in meiner Klinge VorlageWie Variablen in Blattvorlage vergleichen versucht

Mein Controller einige ähnliche

@foreach($info as $inf) 
@if(isset($books)) 
    @if($inf['basename'] == $books->name) 
     Match 
    @else 
     No Match 
    @endif 
@endif 
@endforeach 

$files = \File::files('images'); 

    foreach ($files as $file) { 
      $info[] = pathinfo($file); 
    } 

$books = File::where('status', 1)->select('name')->get(); 

return view('cataloged.read', compact(['info','books'])); 

Meiner Ansicht zu vergleichen versuchen

Diese Arbeit nur für den letzten Datensatz - Ich habe 2 Datensätze in meiner Datenbank - so funktioniert es nur für den zweiten Datensatz d in diesem Fall ...

Was soll ich tun?

Danke für die Hilfe Jungs!

EDIT

@foreach($books as $book) 
      @foreach($info as $file) 
       @if($book->name == $file['basename']) 
       <p>Book</p> 
       @else 
       <p>No Book</p> 
       @endif 
      @endforeach 
    @endforeach 

I 4 Buch nur in meiner Datenbank haben so das funktioniert gut

@if($book->name == $file['basename']) 
     <p>Book</p> 
@endif 

Buch Buch Buch Buch

Aber wenn ich @ sonst im gettin wie dieses Buch Kein Buch 6 tim es Buch kein Buch 6mal Buch kein Buch 6mal Buch kein Buch 6mal

+0

Bücher schreiben ist ein Array, so müssen Sie darüber – ExoticChimp

+0

beide Dateien im selben Verzeichnis durchlaufen? – ClearBoth

Antwort

0

Da $books ist auch Array. Sie sollten wahrscheinlich so etwas tun:

@foreach($info as $inf) 
    @if(isset($books)) 
     @foreach($books as $book) 
      @if($inf['basename'] == $book->name) 
       Match 
      @else 
       No Match 
      @endif 
     @endforeach 
    @endif 
@endforeach 

bearbeiten

<?php 
    $i = 0; 
    $count = count($books); 
?> 
    @foreach($info as $file) 
     @if(($i<$count)?($books[$i]->name == $file['basename']):false) 
      <p>Book</p> 
     @else 
      <p>No Book</p> 
     @endif 
     <?php $i++ ?> 
    @endforeach 

Wenn jedoch das Buch soll nicht in einem Array sein, dann sollten Sie File::where('status', 1)->select('name')->first(); statt File::where('status', 1)->select('name')->get();

+0

Es funktioniert nicht, aber danke für Ihre Antwort – Eliott

+0

ok dann versuchen Sie mit Array stattdessen wie Sie für '$ info' getan haben –

+0

Ich tat, aber es funktioniert nicht :(und ich weiß nicht warum ... wirklich seltsam Tag – Eliott