Я новичок в codeigniter. В настоящее время я работаю над небольшим проектом как практикой, и я пытаюсь отобразить данные из двух таблиц на одной и той же веб-странице. Я попытался использовать $this->db->join();
в codeigniter, но это не работает для меня. Мне было интересно, есть ли другие варианты, которые я могу исследовать при отображении двух табличных данных на одной и той же веб-странице?
Я также отправляю свой метод соединения, который я пробовал – может быть, вы можете сказать мне, что я сделал что-то неправильно?
модель
$this->db->select('tblanswers.*,credentials.*'); $this->db->from('tblanswers'); $this->db->join('credentials', 'tblanswers.answerid = credentials.cid', 'left'); $query = $this->db->get(); return $query->result();
Проблема с этой функцией соединения я имею, что она отображает только одну таблицу, но не другую. Я использовал print_r($data['query']); die()
print_r($data['query']); die()
чтобы проверить это, он возвращает tblanswer не оба.
РЕДАКТИРОВАТЬ
Структура таблицы:
полномочия
+--------------+------+-------------+-------+-------+ | cid(PRIMARY) | name | second_name | phone | email | +--------------+------+-------------+-------+-------+
tblanswers
+-------------------+--------+------------+---------+---------+---------+ | answerid(PRIMARY) | userid | questionid | answerA | answerB | answerC | +-------------------+--------+------------+---------+---------+---------+
нормально, поэтому в первую очередь ваша таблица ДОЛЖНА иметь реляционные данные для выполнения соединения
return $this->db->select('tblanswers.*,credentials.*') ->join('credentials cred', 'tblanswers.answerid = credentials.cid', 'LEFT') ->get('tblanswers') ->result_object()
так что это выполнит запрос, получающий данные из таблицы учетных данных, где поле * answerid = поле cid
НАПРИМЕР
SELECT * FROM tblanswers JOIN credentials ON credentials.cid = tblanswers.answerid
РЕДАКТИРОВАТЬ
похоже, что вам не нужно использовать соединение для того, что вы хотите, чтобы просто пойти
return $this->db->select('tblanswers.*,credentials.*') ->from('tblanswers, credentials') ->get() ->result_object();
потому что это не похоже на то, что у вас есть реляционные данные между ними, но, например, вы можете получить все вопросы, касающиеся этого awnser,
return $this->db->select('tblanswers.*,questions.*') ->join('questions AS q', 'tblanswers.questionid = q.question_id', 'LEFT') ->get('tblanswers') ->result_object()