在Laravel 4.2中,我有一个名为Product的模型,其中包含许多与其他模型(如Country或Category)的多对多关系。我想过滤掉“不完整”的产品,这意味着它们没有关联的国家或没有关联的类别。我可以使用whereDoesntHave()
方法过滤掉一个关系。当我在一次查询中使用它两次时,它会创建AND
条件,但我需要OR
。我在API文档中找不到orWhereDoesntHave()
方法。我不能将多个关系作为参数传递,因为它期望第一个参数是一个字符串。Laravel whereDoesntHave() - 多个或条件
我需要的是这样的: $products = Product::whereDoesntHave('categories')->orWhereDoesntHave('countries')->get();
有什么办法才达到whereDoesntHave()
多OR
条件?
谢谢,我在阅读API时错过了'doesntHave()'。你的第一个代码示例正是我需要的。 – KazikM 2015-01-21 13:33:26