2017-07-03 34 views
0

settingsというテーブルのcompaniesCompanyというLaravelモデル)のjson列があります。その列には、business_keyというオブジェクトが含まれていてもいなくてもかまいません。私はこのオブジェクトを含む企業だけを返そうとします。 私のクエリは次のようになります。オブジェクトが存在するかどうかを確認するLaravel json列クエリ

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

私は、この作品のようなものを作る方法を知りません。私はこれに特有のLaravelを見つけられませんでした。 ありがとうございました!

+0

デフォルト値がない場合は、ビジネスキーがない場合はnullになります。したがって、ヌル以外のすべての列を取得するビジネスキー –

答えて

1

あなたは、モデル内の配列としてフィールドをキャストしていると仮定すると、あなたは他の幼虫のフィールドのように扱うことができますので、あなたのクエリは次のようになります。

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

ありがとうございます。これで解決しました! – Alphonse

0

はこの1つを試してみてください、

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

setting列にオブジェクトが含まれていない場合、値はNULLになります。上記のクエリでは、オブジェクトがsetting列のすべてのレコードが得られます。ドキュメントを参照here

関連する問題