Codeigniter: Выберите из нескольких таблиц

Как я могу выбрать строки из двух или больше таблиц?

Я устанавливаю поля по умолчанию для формы, и мне нужны значения от двух таблиц...

Мои текущие чтения кода:

    $this->CI->db->select('*');
    $this->CI->db->from('user_profiles');
    $this->CI->db->where('user_id' , $id);
    $user = $this->CI->db->get();
    $user = $user->row_array();
    $this->CI->validation->set_default_value($user);
7
задан Kevin Brown 5 May 2010 в 15:23
поделиться

3 ответа

Пример в Руководстве пользователя должен объяснить это:

$this->db->select('*'); // <-- There is never any reason to write this line!
$this->db->from('blogs');
$this->db->join('comments', 'comments.id = blogs.id');

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

// Produces:
// SELECT * FROM blogs
// JOIN comments ON comments.id = blogs.id

См. Все на странице Active Record в Руководстве пользователя.

20
ответ дан 6 December 2019 в 05:01
поделиться
$SqlInfo="select a.name, b.data fromtable1 a, table2 b where a.id=b.a_id";
$query = $this->db->query($SqlInfo);

попробуйте этот способ, вы можете добавить третью таблицу с именем c и добавить команду 'and' к команде sql.

0
ответ дан 6 December 2019 в 05:01
поделиться

Просто добавьте другую таблицу в метод "->from()". Что-то вроде:

 $this->db->select('t1.field, t2.field2')
          ->from('table1 AS t1, table2 AS t2')
          ->where('t1.id = t2.table1_id')
          ->where('t1.user_id', $user_id);
11
ответ дан 6 December 2019 в 05:01
поделиться
Другие вопросы по тегам:

Похожие вопросы: