如何解决具有不同表的 Laravel 关系数据基于条件
我正在处理一个片段,但我必须检查另一个表,如果该客户数据存在,则返回数据,如果就业表中不存在客户数据,也返回基于前一个检查的数据,然后忽略其余部分,但如果我是否想使用指定的条件来检查和返回该数据。这是我尝试过的。
Customers::query()
->distinct('id')
->whereHas('quote')
->where(
function ($query) {
$query->whereHas('profile',function ($query) {
$query->where(function ($query) {
$query->whereNull('nin')->WhereNull('bvn');
})->orWhere(function ($query) {
$query->whereNotNull('nin')->whereNotNull('bvn');
});
})->orWhereHas('employment',function ($query) {
$query->where(function ($query) {
$query->whereNull('bank_statement_url')->WhereNull('mono_account_statement_url');
})->orWhere(function ($query) {
$query->whereNotNull('bank_statement_url')->whereNotNull('mono_account_statement_url');
});
});
}
)->paginate(30);
解决方法
我稍微清理了您的代码并将您的 +-----------------------------------+
|Title |
|Detail detail detail detail |
|more detail more detail more detail|
+-----------------------------------+
更改为 orWhereHas()
:
whereHas()
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。