关闭。这个问题需要细节或清晰。它目前不接受答案。
**想改进这个问题吗?**通过编辑这个帖子来添加细节并澄清问题。
两年前关门了。
改进这个问题
我试图在codeigniter中运行以下查询,但它没有根据查询返回正确的输出,其中一个条件是如果$supplier\u id的值不匹配,则不应显示任何结果。但是,无论供应商id的值是多少,它都会显示所有结果。有人能帮我纠正这个问题吗
public function get_onboarded_detail()
{
$supplier_id = 40;
$query = $this->db->select('*')
->from('job')
->join('job_workforce', 'job_workforce.job_id = job.id', 'Right')
->where('job_workforce.supplier_id',$supplier_id)
->where('job_workforce.status','onboarded')
->or_where('job_workforce.status','job_offer')
->or_where('job_workforce.status','offer_accepted_by_client')
->or_where('job_workforce.status','offer_accepted_by_supplier')
->get();
$res = $query->result();
}
3条答案
按热度按时间6uxekuva1#
这就是如何使用where条件的codeigniter分组。你可以相应地分组。
bt1cpqcv2#
根据查询,条件之一是如果$supplier\u id的值不匹配,则不应显示任何结果。但是,无论供应商id的值是多少,它都会显示所有结果。
如果您正在使用条件或条件之间,即使任何一个条件为真,它也将返回输出。如果要使用提供的所有条件筛选结果,请使用和。
kadbb4593#
where条件的实际问题是因为它包含“or”条件,所以不管您的供应商id系统返回什么样的结果。见下文example:-
你现在在哪里condition:-
应该是:-
要使用codeigniter进行更正,请使用: