2017-09-16 3 views
0

Ich bin ein absoluter Anfänger und ich versuche, eine CRUD in Laravel zu tun, aber ich kann nicht herausfinden, warum meine Variablen nicht auf die Ansicht übergeben werden, so dass ich eine haben kann dynamische Anzeige von ihnen in der Tabelle.Laravel Variable nicht passieren

Meine "Routen" funktionieren gut.

Dann mein Controller

 public function getHome() 
    { 

    $results = Crud::index(); 
    return view('pages/home', ['results' => $results]); 

    } 

fordert mein "Crud" -Modell

class Crud extends Model 
{ 
    public static function index() 
    { 

     return $results = DB::table('data') 
         ->whereNotNull('id') 
          ->get(); 
    } 
} 

Und geht meiner Ansicht als

@extends('main') 

@section('title', '| Home') 

@section('content') 

<div class="container"> 

    @include ('partials/_jumbotron') 

    <table class="table table-inverse"> 
    <thead> 
    <tr> 
     <th>#</th> 
     <th>First Name</th> 
     <th>Last Name</th> 
     <th>Username</th> 
    </tr> 
</thead> 
<tbody> 


@if(!empty($results)) 

    @foreach($results as $result) 

    <tr> 
    <td scope="row">$result->$id</th> 
    <td>$result->$first_name</td> 
    <td>$result->$last_name</td> 
    <td>$result->$username</td> 
    </tr> 

@endforeach 

@endif 

</tbody> 
</table> 
</div> 

@endsection 

Vielen Dank für die Hilfe im Voraus in der Steuerung gesehen ... Ich verliere meinen Verstand Und Entschuldigung Wenn ich nicht spezifisch genug war ..

Edit1: Ich tat wie du sagst, aber ich gebe immer noch keine Daten an meine Tabelle aus? Gibt es im angegebenen Code noch etwas anderes oder ist der Fehler irgendwo tiefer?

Edit2: Vielen Dank an alle für die Fehler hingewiesen - Klinge {{}} und Objekteigenschaften $ object-> propertie nicht $ object -> $ propertie

Wenn ich diese Fehler festgelegt, die offensichtlich die Ausgabe verweigert wurden ich erinnerte mich, dass ich eine leere Datenbank haben .. Case Closed - Danke an alle für die Hilfe

+0

Versuchen Sie, $ end-> first_name' zu ​​verwenden und für die anderen Felder zu wiederholen. Beachten Sie, dass hinter dem Pfeil kein $ steht. Dies sind keine Variablen, sie sind Eigenschaften des Objekts. – ishegg

Antwort

1

Sie sind nicht die Variablen zu drucken. Sie drucken Literale.

Wenn Sie die Variablen (echo diese) in Blade-Dateien drucken möchten, müssen Sie wrap them in curly brackets. Außerdem gibt es nicht $, wenn Sie ein Objektattribut anzeigen möchten. Wie folgt aus:

@foreach($results as $result) 

<tr> 
    <td scope="row">{{ $result->id }}</th> 
    <td>{{ $result->first_name }}</td> 
    <td>{{ $result->last_name }}</td> 
    <td>{{ $result->username }}</td> 
</tr> 

@endforeach 
-1

die erste aller Reiniger verwenden werden Laravel mit Funktion zum Beispiel

return view('pages/home')->with('results', $results); 

Weiter Sie versuchen, $ Ergebnis zu erhalten -> $ first_name es Arbeit becouse first_name didint nicht variabel ist, Laravel Objekt zurück, so können Sie first_name so erhalten:

{{$result->first_name}} 
0

Ich bin ein Anfänger auch, ich dachte, vielleicht möchten Sie vielleicht versuchen, diese auch

public function getHome() 
{ 
    $results = Crud::index(); 
    return view('pages/home', compact('results')); 
} 

Aber vor allem anderen stellen Sie sicher, wenn Ihr Code tatsächlich Ihre Daten von DB Rückkehr Verwenden Sie

dd($results) 
Verwandte Themen