Codeigniter Right Join с условием Где не дает результат - PullRequest
0 голосов
/ 21 января 2020

Result I get opd_employeesduty_asign result without where condition Это мой код в модели

function load_roster_by_date()
{
    $date = $this->input->post('date');
    $this->db->select('*');
    $this->db->from('duty_assign');
    $this->db->where('date',$date);
    $this->db->join('opd_employees','(opd_employees.badgenumber = duty_assign.emp_id)','right');

    $query = $this->db->get();

    return $query->result_array();
}

Код отлично работает без добавления $this->db->where('date',$date);. (Это означает, что результатом является ожидаемая правая объединенная таблица без условия where). Но когда я добавляю условие where, результат аналогичен обычному соединению, а не правому соединению. Нет ошибок в консоли. Любая помощь, чтобы решить это, пожалуйста?

Все, что мне нужно, это указывать, добавлена ​​ли пошлина или нет, все имена сотрудников должны отображаться в таблице

Ответы [ 3 ]

0 голосов
/ 21 января 2020
$this->db->where('date',$date);

Можете ли вы попробовать:

$this->db->where('opd_employees.date',$date);

или

$this->db->where('duty_assign.date',$date);

, потому что этот БД уже выбрал join

0 голосов
/ 21 января 2020

Пожалуйста, добавьте, где условие ниже соединения.

function load_roster_by_date()
{
    $date = $this->input->post('date');
    $this->db->select('*');
    $this->db->from('duty_assign');
    $this->db->join('opd_employees','(opd_employees.badgenumber = duty_assign.emp_id)','right');
    $this->db->where('date',$date);

    $query = $this->db->get();

    return $query->result_array();
}
0 голосов
/ 21 января 2020

Я думаю, это поможет вам понять разницу между Joins. В вашей базе данных не должно быть никаких данных.

$this->db->get_compiled_select(); => Это поможет вам увидеть сделанный CI запрос, который вы можете выполнить непосредственно на своем сервере, чтобы увидеть результаты.

Вы можете увидеть этот ответ В чем разница между INNER JOIN, LEFT JOIN, RIGHT JOIN и FULL JOIN? , чтобы понять «соединения».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...