2015-08-02 35 views
5

Ben görünümü bıçağı, ancak bu hatayı atmak için bir değişken göndermeye çalışıyorum:Ben laravel içinde Blade için bir değişken göndermek cant 5.1

Tanımsız değişken: verileri (Görünüm: D: \ wamp \ www \ Shariq benim Kontrolör Cliente

Route::resource('cliente','ClienteController'); 

budur: \ kaynaklar \ görünümler \ cliente.blade.php)

Bu benim Rota olduğunu

public function index(){ 

    $data = Cliente::all(); 

    return view('cliente',compact($data)); 
} 

Ve Blade: Yanlış

@foreach ($data as $user) 
     <tr> 
      <td>{{$user->nombre}}</td> 
     </tr> 
    @endforeach 

yapıyorum ne?

Ayrıca, bir deneyin, örneğin bu Kontrolör Cliente yapmak durumunda:

public function index(){ 
    return view('cliente', ['name' => 'James']); 
} 

Ve Blade:

{{$name}} 

O evet iş ... Sadece değişkenler ve diziler, çalışmıyor.

cevap

4

sizin Kontrolör bu deneyin:

public function index(){ 
    $data = Cliente::all(); 
    return view('cliente',compact('data')); 
} 

From the compact documentation: "Her parametre ya bir değişken ait adını veya değişken isimleri bir dizisi içeren dize olabilir. dizisi içinde değişken adların diğer dizilerini içerebilir; compact() yinelemeli olarak işleyebilir. "

+1

Ohh gibi bıçak bunu yakalayabilirsiniz! Kompakt Metodu bir String alır, değişkeni değil ... Ben bunu görmüyorum ... Çok teşekkürler. –

1

Bu yolu deneyebilirsiniz

public function index(){ 
$data['data'] = Cliente::all(); 
return view('cliente', $data); 
} 

Sonra bu

@foreach ($data as $user) 
    <tr> 
     <td>{{$user->nombre}}</td> 
    </tr> 
@endforeach 
İlgili konular