1
$query->orWhere(['member_id'=> $participant['id'], "event_id"=>$event_id, 'member_status'=>'1'])

on Debugging the Above query using toSql() , i Found this

select * from group_members where group_members.`event_id` = 5 and group_members.`event_id` is not null and (member_id = ? and event_id = ? and member_status = ?) or (member_id = ? or event_id = ? or member_status = ?)

However I want it to be like,

select * from group_members where group_members.`event_id` = 5 and group_members.`event_id` is not null and (member_id = ? and event_id = ? and member_status = ?) or (member_id = ? and event_id = ? and member_status = ?)

How do I achieve this?

Thanks in advance

1 Answer 1

4

Try this:

$query->where(function($query) {
    $query->where(['member_id'=> $participant['id'], "event_id"=>$event_id, 'member_status'=>'1']);
})->orWhere(function($query) {
    $query->where(['member_id'=> $participant['id'], "event_id"=>$event_id, 'member_status'=>'1']);
});
Sign up to request clarification or add additional context in comments.

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.