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);
6 ответов
пример в руководстве пользователя должен объяснить это:
$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
Смотрите все это под Активная Запись страница в руководство пользователя.
просто добавьте другую таблицу в метод" - >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);
Я думаю, что вопрос был не столько о соединениях, сколько о том, как отображать значения из двух разных таблиц - руководство пользователя, похоже, не объясняет этого.
вот мое мнение:
$this->db->select('u.*, c.company, r.description');
$this->db->from('users u, company c, roles r');
$this->db->where('c.id = u.id_company');
$this->db->where('r.permissions = u.permissions');
$query = $this->db->get();
Я думаю, что синтаксис неверен. Вам нужно выбрать одну запись. У меня есть две таблицы, и у меня есть идентификатор из одной таблицы transfer by parameter и отношение обеих таблиц.
попробуй такое
$this->db->select('*')
->from('student')
->where('student.roll_no',$id)
->join('student_details','student_details.roll_no = student.roll_no')
->join('course_details','course_details.roll_no = student.roll_no');
$query = $this->db->get();
return $query->row_array();
$SqlInfo="select a.name, b.data fromtable1 a, table2 b where a.id=b.a_id";
$query = $this->db->query($SqlInfo);
попробуйте таким образом, вы можете добавить третью таблицу с именем c и добавить команду " и " в команду sql.