Ich frage mich, ob es so etwas wie eine optionale Abfrage gibt. ZB:Laravel optional wo() Abfrage
Wählen Sie * aus der Tabelle, wo X = 2 und Y gleich 0 oder 1 sein muss?
Ich frage mich, ob es so etwas wie eine optionale Abfrage gibt. ZB:Laravel optional wo() Abfrage
Wählen Sie * aus der Tabelle, wo X = 2 und Y gleich 0 oder 1 sein muss?
können Sie versuchen, wie:
$userId = $request->input('userId');
->where('X', 2)
->where(function($q) use($userId) {
$q->where('Y', $userId)
->orWhere('Y', 1)
})
Es gibt eine Reihe von Möglichkeiten, dies zu erreichen.
Sie können auch Objekte zurück durch das Modell erhalten:
$collection = Mymodel::where('x', 2)->where('y', 0)->orWhere('y', 1)->get();
Oder wie Amit oben zeigt.
Sie können orWhere()
für einfache Fälle verwenden, aber in Ihrem Fall sollten Sie eine Funktion verwenden, um die where-Klausel für y zurück wie:
$result = $field->letters()->where('x', 2)->where(function ($q) {
$q->where('y', 0)->orWhere('y', 1);
})->get();
Hinweis: ersetzen Buchstaben mit Ihrem Objektmodell.
Wie übermittele ich einen dynamischen Wert? ZB '' $ q-> wo ('Y', $ userId) '' – user2636197
Antwort aktualisiert. –
danke das hat funktioniert, werde ich in 7 min akzeptieren, sobald es mich lässt – user2636197