2017-02-10 6 views
1

Laravel 5.3 prjects: i e for-Schleife haben und ein Objekt aus meinem Controller mit Eigenschaft als Array übergebenWie Indizierung Array propery innerhalb Laravel for-Schleife foreach NICHT

Mein Usercontroller @ bearbeiten

return view('user.edit',compact('user')); 

Meine Benutzerobjekt haben ein Array wie Eigenschaft „Post“ so benutzer $> post ein Array zurück wie

[0]=>'post1', 
[1]=>'post2', 
... more ... 

meiner Ansicht nach mit BLADE ich brauche 7 Eingabetextfeld Feld als Array anzuzeigen, und füllen sie es mit arr ay richtigen Wert von $ user-> Post Eigenschaft:

@for ($i = 0; $i < 7; $i++) 
     <input type="text" name="ingredients[]" value="{{ ($user->post)[$i] }}" class="form-control" placeholder="Post title"> 
    @endfor 

diese Rückkehr Fehler:

ErrorException in 600ad3d79a7e4216538932fc71b893314cf18166.php line 65: 
Undefined offset: 2 

das Problem ist das $ i innerhalb Wert Attribut, wenn i mit 0 oder 1 (fest einprogrammiert Indexwert) ersetzen es funktioniert aber mit loop index $ i es scheitert ??

Ideen zum Indizieren von Array-Eigenschaft in einer for-Schleife auf Blade-Vorlage-Engine?

hinweis: ich kann foreach loop nicht verwenden.

thx alll

+0

Was die genaue Ausgang ist von 'dd ($ user-> post);'? – nCrazed

+0

[0 => 'Post1', 1 => 'Post2'] – DaveIt

Antwort

2

Sie erscheinen nicht Ihre Schleife nur einschränkend zu sein, was in der Anordnung tatsächlich existiert, so dass die bei der maximalen Größe des Arrays für Schleifenstopp machen

@for ($i = 0; $i < count($user->post); $i++) 
    <input type="text" name="ingredients[]" value="{{ $user->post[$i] }}" class="form-control" placeholder="Post title"> 
@endfor 
+0

Thx RiggsFolly schön, du rettest mein Leben! – DaveIt

Verwandte Themen