join query в codeigniter

Я использую функцию соединения в codeigniter и не могу заставить ее работать, она отображает только одну таблицу данных, но не другую, но я не знаю, как это сделать, если кто-то поможет мне tnx заранее.

Посмотреть

<?php foreach ($query as $row): ?> <?php echo $row->answerA;?><br> <?php echo $row->answerB;?><br> <?php echo $row->answerC;?><br> <?php echo $row->comment;?><br> <?php echo $row->name; ?> <?php endforeach; ?> 

контроллер

  function getall(){ $this->load->model('result_model'); $data['query'] = $this->result_model->result_getall(); // print_r($data['query']); // die(); $this->load->view('result_view', $data); } 

модель

  function result_getall(){ $this->db->select('tblanswers.*,credentials.*'); $this->db->from('tblanswers'); $this->db->join('credentials', 'tblanswers.answerid = credentials.cid', 'right outer'); $query = $this->db->get(); return $query->result(); } 

РЕДАКТИРОВАТЬ

это результат

 print_r($data['query']); die(); 

массив, который он возвращает:

 Array ( [0] => stdClass Object ( [answerid] => [userid] => [questionid] => [answerA] => [answerB] => [answerC] => [comment] => [cid] => 83 [name] => Edvinas [second_name] => liutvaits [phone] => [email] => ledvinas@yahoo.ie ) [1] => stdClass Object ( [answerid] => [userid] => [questionid] => [answerA] => [answerB] => [answerC] => [comment] => [cid] => 84 [name] => Edvinas [second_name] => liutvaits [phone] => [email] => ledvinas@yahoo.ie ) [2] => stdClass Object ( [answerid] => [userid] => [questionid] => [answerA] => [answerB] => [answerC] => [comment] => [cid] => 85 [name] => Edvinas [second_name] => Liutvaitis [phone] => [email] => ledvinas@yahoo.ie ) [3] => stdClass Object ( [answerid] => [userid] => [questionid] => [answerA] => [answerB] => [answerC] => [comment] => [cid] => 86 [name] => EdvinasQ [second_name] => LiutvaitisQ [phone] => 12345678 [email] => ledvinas@yahoo.ie ) [4] => stdClass Object ( [answerid] => [userid] => [questionid] => [answerA] => [answerB] => [answerC] => [comment] => [cid] => 87 [name] => Edvinas [second_name] => Liutvaitis [phone] => 123456 [email] => ledvinas@yahoo.ie ) ) 

структура таблицы

полномочия

cid (PRIMARY), имя, второе имя, телефон, адрес электронной почты

tblanswers

answerid (PRIMARY), userid, questionid, answerA, answerB, answerC.

Попробуйте следующее:

 $this->db->join('credentials', 'tblanswers.answerid = credentials.cid'); 

Или

 $this->db->join('credentials', 'tblanswers.answerid = credentials.cid', 'inner'); 

И распечатайте результат, чтобы узнать, есть ли то, что вы хотите

Удалить тег select (), так как вам нужны все условия.

U может изменять код как

 $this->db->join('credentials', 'tblanswers.answerid = credentials.cid', 'outer'); $query = $this->db->get('tblanswers'); return $query->result(); 

Если у обеих ваших таблиц есть связанные, тогда это должно сработать. Почему вы используете правое внешнее соединение? Просто используйте Inner Join или любое другое соединение, и оно будет работать. Пожалуйста, прочитайте о различных типах JOIN здесь http://www.w3schools.com/sql/sql_join.asp и здесь http://dev.mysql.com/doc/refman/5.0/ru/join.html

Надеюсь, это поможет.

спасибо

Какую основную таблицу вы хотите запросить? Ну, вы можете попробовать это, предположив, что при использовании объединений вы должны указать псевдоним для каждой таблицы:

  function result_getall(){ // if you want to query your primary data from the table 'tblanswers', $this->db->select('a.*,b.*'); <-- select what you might want to select $this->db->from('tblanswers a'); $this->db->join('credentials b', 'b.cid = a.answerid', 'left'); $query = $this->db->get(); return $query->result(); // if you want to query your primary data from the table 'credentials', $this->db->select('a.*,b.*'); <-- select what you might want to select $this->db->from('credentials a'); $this->db->join('tblanswers b', 'b.answerid = a.cid', 'left'); $query = $this->db->get(); return $query->result(); }