Запрос в CodeIgniter :
$this->db->select('comments.created_at, comments.section_id, comments.submittedby_id, users.username, comments.text, sections.name');
$this->db->order_by('comments.created_at', 'desc');
$this->db->where('comments.submittedby_id', 'users.user_id');
$this->db->where('comments.section_id', 'sections.id');
$query = $this->db->get(array('comments', 'users', 'sections'),10);
Создание SQL-запроса :
SELECT pdb_comments
. created_at
,
pdb_comments
. section_id
,
pdb_comments
. submittedby_id
,
pdb_users
. username
,
pdb_comments
. text
,
pdb_sections
. name
ОТ
(pdb_comments
, pdb_users
,
pdb_sections
) ГДЕ
pdb_comments
. submittedby_id
=
'users.user_id' AND
pdb_comments
. section_id
=
ORSER BY
pdb_comments
. created_at
desc LIMIT
10
Проблема в том, что префикс базы данных (pdb_
) не добавляется в предложение WHERE
. Я могу вручную вставить префикс, добавив $this->db->dbprefix
, но это не решает основную проблему.
Котировки
`pdb_comments`.`submittedby_id` = 'pdb_users.user_id'
Цитаты справа не являются точными и дают 0 результатов для меня. Есть ли способ заставить CodeIgniter распознавать вторую половину предложения where как часть моей таблицы; тем самым добавляя префикс базы данных и правильно расставляя кавычки, избегая двух объединений? Есть ли другой способ сделать это? Заранее спасибо.
-
Jon