我有一个名为loan_tenors
的表,其中定义了两个列,company_id
和is_global
。我想根据这个条件进行查询:
获取所有
loan_tenors
,其中company_id
等于用户的公司id,但也包括is_global
为true
的数据,尽管company_id
值不同。
有什么办法可以达到这个条件吗?我尝试过这个查询,但结果不是我想要的。
MyController.php
// This only returns one matches condition
LoanTenor::whereCompanyId($request->user()->company_id)
->orWhereIsGlobal(true)
->get();
// This one is the same
LoanTenor::whereCompanyId($request->user()->company_id)
->whereIsGlobal(true)
->get();
// This one either
LoanTenor::where(function ($query) use ($request) {
$query->whereCompanyId($request->user()->company_id)
->whereIsGlobal(false);
})
->where(function ($query) use ($request) {
$query->where('company_id', '!=', $request->user()->company_id)
->whereIsGlobal(true);
})
->get();
编辑
为了说明清楚,请查看此链接,请注意,我是以company_id
=2的用户身份登录的
发布于 2020-08-16 21:38:39
$data1 = LoanTenor::where('company_id',$request->user()->company_id)
->where('is_global','true')
->get();
$data2 = LoanTenor::where('company_id','!=',$request->user()->company_id)
->where('is_global','true')
->get();
$merged = $data2->merge($data1);
$result = $merged->all();
https://stackoverflow.com/questions/63444046
复制相似问题