Leeres Ergebnis des SQL führt zu einer Fehlermeldung

Werner S

Mitglied
Grüß euch,

Laravel, eine Leeres Ergebnis einer SQL Abfrage führt zu einer Fehlermeldung.
Warum und wie kann ich das beheben?
SRY, bin in Sachen PHP, MySQL und Laravel noch Anfänger.

SQL:
$nowevent = Event::Where('user_id', Auth::user()->id)->whereDate('start', date('Y-m-d'))->get();
return view('home', compact('nowevent'));

Blade:
@foreach($nowevent as $nowevents)
<li>
    <p @if($nowevents->
        privat)class="green"@endif>
        <strong>{{ date('G:i', strtotime($nowevents->start)) }} Uhr</strong>
        {{$nowevents->title}}
    </p>
</li>
@endforeach

*start* ist datetime. Ist für heute den 20.05 ein Eintrag hinterlegt, läuft alles. Ist keiner hinterlegt zeigt er mir an Undefined variable: nowevents

Normal sollte das doch nicht passieren oder?
 

JR Cologne

Administrator
Teammitglied
Richtig, normal sollte das nicht so sein. Die Variable ist dann einfach null, aber nicht undefiniert.

Die Wahrscheinlichkeit ist also sehr hoch, dass es sich um irgendeinen Flüchtigkeitsfehler handelt.

Bist du definitiv im richtigen View-Template? Wird die richtige Controller-Methode aufgerufen?

Wenn ja, versuche mal, im Controller auch schon die Variable auszugeben bzw. zu dumpen sowie im Template den ganzen Quellcode zu entfernen und lediglich {{ $nowevent }} o.ä. dort reinzuschreiben.

Ansonsten fällt noch auf, dass du Event::Where() und nicht Event::where() aufrufst. Das sollte aber keine Auswirkungen haben, da Funktions- und Methodennamen in PHP, soweit ich weiß, case-insensitive sind.
 

Werner S

Mitglied
Richtig, normal sollte das nicht so sein. Die Variable ist dann einfach null, aber nicht undefiniert.

Die Wahrscheinlichkeit ist also sehr hoch, dass es sich um irgendeinen Flüchtigkeitsfehler handelt.

Bist du definitiv im richtigen View-Template? Wird die richtige Controller-Methode aufgerufen?
Kann ich beides mit Ja beantworten.
Ich hatte nachdem ich den Beitrag erstellt habe, die Arbeit erst mal Pausiert. Hab es heute aufgerufen und der Fehler war weg ohne irgendwas geändert zu haben.
Sollte mir wohl angewöhnen den Cache Regelmäßig zu leeren
 
Oben Unten