MySQL Eloquent ORM – where-Klausel: Wert könnte null seinPhp

PHP-Programmierer chatten hier
Anonymous
 MySQL Eloquent ORM – where-Klausel: Wert könnte null sein

Post by Anonymous »

Ich bin mir etwas unsicher, wie ich mit Eloquent ORM-Abfragen (Laravel 12) vorgehen soll, wenn ein Wert NULL sein KÖNNTE.
Normalerweise würden Sie nach einem NULL-Wert suchen mit:

Code: Select all

->whereNull("column")
Aber wenn man nicht weiß, ob der Wert überhaupt NULL ist, ist das natürlich Unsinn. Sie würden also Folgendes verwenden:

Code: Select all

->where("column",value)
Laravel (ich glaube ab Version 8?) übersetzt dies in MySQL automatisch in „Spalte IS NULL“. Sollte man sich darauf verlassen? Um es auszuprobieren, schaue ich gerne bei Google Gemini vorbei, das folgende Option bietet:

Code: Select all

// app/Models/YourModel.php
public function scopeWhereXIs($query, $search_value)
{
//if $search_value is NULL, use whereNull
if ($search_value === null) {
return $query->whereNull('x');
}

//otherwise use where clause
return $query->where('x', $search_value);
}
Also die Verwendung von Bereichen. Das bedeutet, dass Sie in der Abfrage dann
verwenden

Code: Select all

->whereXIs($search_value_from_request)
Dieser Umfang ist jedoch nur notwendig, wenn Sie Laravel nicht vertrauen möchten.
Was denken Sie? Was wäre hier die beste Vorgehensweise?
Grüße

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post