2017-07-03 67 views
0

所以我有一個名爲settings的json列companies(它有一個名爲Company的Laravel模型)。該列可能包含或不包含名爲business_key的對象。我嘗試僅返回包含此對象的公司。 我的查詢看起來是這樣的:Laravel json列查詢檢查對象是否存在

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

我不知道如何使這樣的工作。我沒有找到任何Laravel具體的。 謝謝你的時間和幫助!

+0

如果您沒有該列的默認值,那麼在沒有業務密鑰的情況下它將爲空。因此,檢索所有非空業務密鑰列 –

回答

1

假設你是鑄造領域作爲模型中的一個數組,你可以把它像其他幼蟲領域,所以你的查詢將是:

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

謝謝你的幫助。這解決了它! – Alphonse

0

試試這個,

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

如果setting列不包含對象,那麼值將爲NULL,那麼上面的查詢將列出包含對象在setting列中的所有記錄。請參閱文檔here