2016-09-19 1 views
1

In meinem Routes habe ich:Laravel Controller kompakt funktioniert nicht

Route::get('/about','[email protected]'); 

In PagesController:

public function about() 
{ 
    $people=['Taylor','Matt','Jeffrey']; 
    return view('pages.about',compact($people)); 
} 

wenn ich

return view('pages.about',['people'=> $people]); 

verwenden Es läuft ok.

Der Controller übergibt das Array nicht zur Ansicht, warum?

+1

'compact ('Menschen')' – tkausl

+0

http://stackoverflow.com/a/22413121/6521116 –

Antwort

1

Verwenden compact('people')

Wenn Sie ein Anfänger Kasse die laracasts Video-Serie sind ein gutes Verständnis des Laravel Rahmen zu erhalten.

2

Entfernen $ Zeichen innerhalb compact Funktion wie compact('people'). Dies wird Ihr Problem lösen.

compact() ist keine Laravel-Funktion. Es ist eine PHP-Funktion. Es erstellt ein Array mit Variablen und deren Werten.

Nehmen wir zum Beispiel an, Sie haben folgende Variablen.

$name = 'Jon Snow'; 
$dad = 'Rhaegar Targaryen'; 
$mom = 'Lyanna Stark'; 

Wenn Sie die in einer compact() setzen sich wie folgt,

$thePrinceThatWasPromised = compact(['name', 'dad', 'mom']); 

Sie werden folgende Array $thePrinceThatWasPromised zugewiesen bekommen.

[ 
    'name' => 'Jon Snow', 
    'dad' => 'Rhaegar Targaryen', 
    'mom' => 'Lyanna Stark' 
] 

Für weitere Informationen gehen Sie zu php manual

Verwandte Themen