2017-07-03 3 views
0

So habe ich eine JSON-Spalte namens settings in der Tabelle companies (die ein Laravel-Modell namens Company hat). Diese Spalte enthält möglicherweise ein Objekt mit der Bezeichnung business_key. Ich versuche nur die Firmen zurückzugeben, die dieses Objekt enthalten. Meine Abfrage sieht wie folgt aus:Laravel JSON Spalte Abfrage zu prüfen, ob Objekt existiert

$owners = \Company::where('settings->business_key')->get(); 

Ich weiß nicht, wie so etwas wie diese Arbeit zu machen. Ich habe nichts speziell für Laravel gefunden. Vielen Dank für Ihre Zeit und Hilfe!

+0

Wenn Sie für diese Spalte keinen Standardwert haben, ist dieser Wert Null, wenn kein Geschäftsschlüssel vorhanden ist. Also, rufen Sie alle Spalte mit nicht null Business-Schlüssel –

Antwort

1

Angenommen, Sie das Feld als ein Feld in dem Modell werfen, können Sie es wie andere Larven Felder behandeln, so dass Ihre Abfrage wäre:

$owners = \Company::whereNotNull('settings->business_key')->get(); 
+0

Vielen Dank für Ihre Hilfe. Das hat es gelöst! – Alphonse

0

versuchen diese,

$data = \Company::whereNotNull('setting')->get(); 

Wenn die setting Spalte kein Objekt enthält, dann wird der Wert NULL sein, dann gibt obige Abfrage alle Datensätze mit Objekten in setting Spalte. Siehe Dokumentation here

Verwandte Themen