2017-07-03 207 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