Мне нужна помощь, чтобы понять, как сделать выборку из таблиц в нескольких базах данных с помощью Active Record в Codeigniter.
Подробнее: у меня есть две базы данных; в первом есть таблица с именем пользователей со всей информацией о пользователе (имя, фамилия и т. д.); во второй базе данных есть таблица с именем кредит, в которой есть кредитная информация о каждом пользователе; user_id — это ключ, связывающий таблицы.
В модели контракта у меня есть:
public function __construct()
{
parent::__construct();
$this->rci_db = $this->load->database('dev', TRUE);
}
Запрос для выбора данных:
$this->db->select ("
$this->t_users.user_id,
$this->t_users.username,
$this->t_users.first_name,
$this->t_users.last_name,
$this->t_users.email,
$this->t_users.lastlogin,
$this->t_contributers.user_id AS credit
");
$this->db->from($this->t_users);
$this->db->join($this->rci_db.$this->t_contributers, "$this->t_contributers.user_id = $this->t_users.user_id");
Запрос не работает, и я получаю следующую ошибку:
Error Number: 1146
Table 'gavsit_data.rci_imgcontributers' doesn't exist
SELECT `users`.`user_id`, `users`.`username`, `users`.`first_name`, `users`.`last_name`, `users`.`email`, `users`.`lastlogin`, `rci_imgcontributers`.`user_id` AS `credit` FROM `users` JOIN `rci_imgcontributers` ON `rci_imgcontributers`.`user_id` = `users`.`user_id` ORDER BY `id` ASC
Filename: models/adm/Users_model.php
Большое спасибо за любую подсказку... Я действительно не знаю, как решить эту проблему.
РЕДАКТИРОВАТЬ:
Я отредактировал код, разделяющий запрос выбора, ошибка исчезла, но я не получил данных из второй БД:
$this->db->select ("
$this->t_users.id,
$this->t_users.username,
$this->t_users.first_name,
$this->t_users.last_name,
$this->t_users.email,
$this->t_users.last_login,
$this->t_users.active
");
$this->rci_db->select("
$this->t_contributers.user_id,
$this->t_contributers.cbtid
");
$this->db->from($this->t_users);
$this->rci_db->join("$this->t_contributers", "$this->t_contributers.user_id = $this->db.$this->t_users.id", 'left');
Подробнее здесь: https://stackoverflow.com/questions/483 ... -databases
Выбор активной записи Codeigniter в нескольких базах данных ⇐ Php
Кемеровские программисты php общаются здесь
-
Anonymous
1768887669
Anonymous
Мне нужна помощь, чтобы понять, как сделать выборку из таблиц в нескольких базах данных с помощью Active Record в Codeigniter.
Подробнее: у меня есть две базы данных; в первом есть таблица с именем пользователей со всей информацией о пользователе (имя, фамилия и т. д.); во второй базе данных есть таблица с именем кредит, в которой есть кредитная информация о каждом пользователе; user_id — это ключ, связывающий таблицы.
В модели контракта у меня есть:
public function __construct()
{
parent::__construct();
$this->rci_db = $this->load->database('dev', TRUE);
}
Запрос для выбора данных:
$this->db->select ("
$this->t_users.user_id,
$this->t_users.username,
$this->t_users.first_name,
$this->t_users.last_name,
$this->t_users.email,
$this->t_users.lastlogin,
$this->t_contributers.user_id AS credit
");
$this->db->from($this->t_users);
$this->db->join($this->rci_db.$this->t_contributers, "$this->t_contributers.user_id = $this->t_users.user_id");
Запрос не работает, и я получаю следующую ошибку:
Error Number: 1146
Table 'gavsit_data.rci_imgcontributers' doesn't exist
SELECT `users`.`user_id`, `users`.`username`, `users`.`first_name`, `users`.`last_name`, `users`.`email`, `users`.`lastlogin`, `rci_imgcontributers`.`user_id` AS `credit` FROM `users` JOIN `rci_imgcontributers` ON `rci_imgcontributers`.`user_id` = `users`.`user_id` ORDER BY `id` ASC
Filename: models/adm/Users_model.php
Большое спасибо за любую подсказку... Я действительно не знаю, как решить эту проблему.
РЕДАКТИРОВАТЬ:
Я отредактировал код, разделяющий запрос выбора, ошибка исчезла, но я не получил данных из второй БД:
$this->db->select ("
$this->t_users.id,
$this->t_users.username,
$this->t_users.first_name,
$this->t_users.last_name,
$this->t_users.email,
$this->t_users.last_login,
$this->t_users.active
");
$this->rci_db->select("
$this->t_contributers.user_id,
$this->t_contributers.cbtid
");
$this->db->from($this->t_users);
$this->rci_db->join("$this->t_contributers", "$this->t_contributers.user_id = $this->db.$this->t_users.id", 'left');
Подробнее здесь: [url]https://stackoverflow.com/questions/48368330/codeigniter-active-record-select-on-multiple-databases[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия