2017-10-02 3 views
-1

Ich bekomme unter Fehler, wenn ich meinen Code ausführen. Was ist los mit dir?Undefinierte Variable Fehler in Sicht in Laravel 5.5.13

Undefined variable: tasks (View: C:\Users\Silvercover\blog\resources\views\Pages\home.blade.php) 

hier ist mein Controller:

namespace App\Http\Controllers; 

use Illuminate\Http\Request; 

class PagesController extends Controller 
{ 
    public function home() { 
     $tasks = ['Jack','Sara']; 
     return view("Pages.home")->with(compact($tasks)); 
    } 
} 

und das ist meine Ansicht:

@extends('Layout.layout') 
<h3>Names:</h3> 
<hr> 
@foreach ($tasks as $task) 
    {{$task}} 
@endforeach 

ich verwende Laravel 5.5.13.

+0

'-> mit ([" Aufgaben "=> $ Aufgaben])' würde das lösen. Ich sehe die 'compact()' Funktion verwendet viele Orte, aber ich bin nicht vertraut mit der richtigen Syntax, um damit zu verwenden. –

+0

@TimLewis Nein, es hilft nicht. – silvercover

+0

Ja, es tut lol. Ich benutze diese Syntax täglich ohne Probleme. Trotzdem, lesen Sie https://laravel.com/docs/5.5/views#passing-data-to-views und sehen Sie, was Sie falsch machen. –

Antwort

-1

Tun Sie dies:

Rückkehr Ansicht ("Pages.home" compact ('Aufgaben'));

ODER

Die mit() -Methode Sie fragt den Namen der Variablen zu senden, nicht die Variable selbst:

Rückkehr Ansicht ("Pages.home") -> mit ('Aufgaben');

den Fall gibt es mehrere Variablen, senden sie unter Verwendung von Array:

return Ansicht ("Pages.home" compact ([ 'Aufgaben', 'otherVariable', 'AnotherOne']));

OR

return Ansicht ("Pages.home") -> mit ([ 'Aufgaben', 'otherVariable', 'AnotherOne']);

+0

'mit' braucht den Namen und den Wert. 'view (...) -> with ('somevar', 'somevalue');' es sei denn, Sie übergeben ein Schlüsselwert-Array als erstes Argument an 'with'. – lagbox

Verwandte Themen