У меня возникла проблема с преобразованием приведенного ниже кода в код моей модели в рамках codeigniter.Оператор объединения Codeigniter с заявлением о соединении
SELECT mt_prs_groups.groupId, mt_prs_groups.groupName, mt_prs_administrators.administratorId
FROM mt_prs_status INNER JOIN (mt_prs_administrators INNER JOIN mt_prs_groups ON mt_prs_administrators.administratorId = mt_prs_groups.administratorId) ON (mt_prs_status.statusId = mt_prs_groups.statusId) AND (mt_prs_status.statusId = mt_prs_administrators.statusId)
WHERE (((mt_prs_status.status)="Active") AND ((mt_prs_administrators.administratorId)=3)) OR (((mt_prs_administrators.administratorId)=4));
На модели я перевел это
$this->db->select('mt_prs_groups.groupId, mt_prs_groups.groupName');
$this->db->from('mt_prs_status');
$this->db->join('mt_prs_administrators', 'inner');
$this->db->join('mt_prs_groups', 'mt_prs_administrators.administratorId = mt_prs_groups.administratorId AND mt_prs_status.statusId = mt_prs_administrators.statusId', 'inner');
$this->db->where('mt_prs_status.status="Active"');
$this->db->where('mt_prs_administrators.administratorId=3');
$this->db->or_where('mt_prs_administrators.administratorId=4');
Это дает мне ошибку ниже
Номер ошибки: 1054
Неизвестный столбец 'внутренний' в " из статьи '
SELECT
mt_prs_groups
.groupId
,mt_prs_groups
.groupName
ОТmt_prs_status
РЕГИСТРИРУЙТЕСЬmt_prs_administrators
ИСПОЛЬЗОВАНИЕ (inner
) ВНУТРЕННИЙ РЕГИСТРИРУЙТЕСЬmt_prs_groups
ONmt_prs_administrators
.administratorId
=mt_prs_groups
.administratorId
Иmt_prs_status
.statusId
=mt_prs_administrators
.statusId
ГДЕmt_prs_status
.status
= "Активный" Иmt_prs_administrators
.administratorId
= 3 ИЛИmt_prs_administrators
.administratorId
= 4
Запрос выполняется хорошо, когда я помещаю его непосредственно в mysql, но не работает в кодеригенере. Вопрос внутреннее соединение зависит от другого внутреннего соединения
Это сделало это для меня ... большое вам спасибо за это. Я вижу, где я ошибся с моим запросом –
Удовольствие мое :) –