Ich versuche, eine Sammlung von Objekten zu filtern, indem ich das Verfallsdatum mit dem heutigen Datum abgleiche, aber ich kann es nicht richtig zum Laufen bringen. Kann jemand den Code ansehen? Ich bin mir sicher, dass ich hier etwas verpasse. Ich habe überall gesucht und viele Beispiele gefunden, aber keine funktionieren.Eine Laravel-Sammlung in einer Ansicht filtern, indem Daten verglichen werden?
Dies entspricht ganz gut, aber mit einer Liste von 9 Objekten, von denen 3 ein Ablaufdatum haben, das auf 2012 eingestellt ist, gibt es keine Ergebnisse aus der Sammlung zurück.
-Controller
public function classifieds()
{
$myclassifieds = Auth::user()->classifieds;
return view('account.classifieds')->with(['allclassifieds'=>$myclassifieds]);
}
Ansicht
@if(count($allclassifieds->where('expired_on','<', Carbon\Carbon::now())) > 0)
//Something here
@endif
gut aussieht, ohne schwer zu sagen, die Sammlung selbst zu sehen. Sind Sie sicher, dass "expired_on" direkt auf der ersten Ebene jedes Sammlungsobjekts verfügbar ist? Auch 'where()' Vergleich ist streng. Könnte sein, dass 'expired_on' ein Datum ist, während Carbon :: now() dir datetime gibt - und das könnte Probleme verursachen, nicht sicher. – lesssugar
Dies ist die Sammlung mit einem Objekt darin. Expires_on ist ein Datum-Zeit-Objekt, das sehr seltsam ist. [ { "id": 31, "username": "Test" "type": 1, "action": "verkaufen", "maincat": "Antiquitäten" "title": "test", "description": "test", "extratextfield": null, "lowerprice": 1, "partex": 0, "Bedingung": "verwendet", "Preis": "680 ", " Bilder ":" 1 ", " E-Mail ":" [email protected] ", " Kommentare ": 1, " created_at ":" 2016-04-03 19:00:26 ", "updated_at": "2016-04-03 19:00:26", "expires_on ":" 2016-03-14 19:00:26 " } ] – matpulis
In Ihrem Code haben Sie' expired_on'. Ist es ein Tippfehler beim Einfügen in den Post oder ein Tippfehler im ursprünglichen Code? ;) Das Objekt enthält 'expires_on' in ihm. – lesssugar