У меня есть установка Codeigniter, чтобы добавить префикс kms_ в мои активные запросы записи. Тем не менее, я пытаюсь сделать соединение с двумя условиями ON, и это не добавляет их.
Сейчас я должен вручную добавить их так:
$this->db->join('site_items', 'kms_site_items.item_id = kms_items.id AND kms_site_items.site_id = 1', 'left');
Могу ли я написать это по-другому, чтобы приставки таблицы были добавлены правильно?
Есть ли способ заставить что-то подобное работать:
$this->db->join('site_items', 'site_items.item_id = items.id AND site_items.site_id = 1', 'left');
Вы можете получить текущий префикс базы данных вручную следующим образом:
$prefixed_tablename = $this->db->dbprefix('tablename');
Таким образом, вы можете сделать это:
$this->db->join('site_items', $this->db->dbprefix('site_items') . '.item_id = ' . $this->db->dbprefix('items') . '.id AND ' . $this->db->dbprefix('site_items') . '.site_id = 1', 'left');
Документы здесь
Вы можете просто добавить имя таблицы Prefix
следующим образом:
например, ваши таблицы имеют myPrefix_
как префикс, и один из них может быть myprefix_user
.
После этого в вашем config/database.php
внизу этой страницы, где вы dbprefix
database name
своей database name
username
и password
, вы можете увидеть dbprefix
и вы можете установить префикс, как я уже упоминал выше myPrefix_
.
В конце вы можете просто назвать свое имя таблицы, например $this->db->get('user')
и автоматически Codeigniter задает ваш префикс в первом из них.