2016-11-03 11 views
0

マイModelのエラー:未定義のメソッドCI_DB_mysqli_driverに呼び出し::結果()コール::結果()

 <?php 
    defined('BASEPATH') OR exit('No direct script access allowed'); 

    class teacher_feedback extends CI_Model { 

    public function teacher_feedback_query($teacher) 
     { 
    $teacher_feedback_query = 'SELECT TD.name, TD.subject, TFA.answer_value, SBI.first_name, TFSAC.comment, TFSC.comment, TFQ.teachers_feedback_question_id FROM teacher_details as TD inner join teachers_feedback_student_answer as TFSA on TFSA.teacher_id = TD.teacher_id inner join teachers_feedback_answer as TFA on TFA.teachers_feedback_answer_id = TFSA.teachers_feedback_answer_id inner join teachers_feedback_student_answer_comment as TFSAC on TFSAC.teacher_id = TD.teacher_id inner join student_basic_info as SBI on SBI.student_id=TFSAC.student_id inner join teachers_feedback_student_comment as TFSC on TFSC.student_id = SBI.student_id inner join teachers_feedback_question as TFQ on TFQ.teachers_feedback_question_id = TFSA.teachers_feedback_question_id where TD.teacher_id = ?'; 

$teacher_query = $this->db->query($teacher_feedback_query,array($teacher)); 
$teacher_feedback_result = $this->db->result($teacher_query); 
return $teacher_feedback_result(); 
} 
} 
?> 
+0

Codeigniter(CI)を使用している場合は、モデルがCI_Modelを拡張していることを確認してください。あなたの質問は十分にはっきりしていないので、私たちがあなたを素早くお手伝いできるようにフルモデルを提示してください。 – Ritchie

+0

フルモデルが与えられました – user2143097

答えて

0

は(result_arrayを戻してください)だけではなく(結果)

1

Iあなたがここでやろうとしていることが間違っていると思います。 resultメソッドは照会結果に対して呼び出され、dbオブジェクトには呼び出されません。

これを試してみてください:

<?php 

defined('BASEPATH') OR exit('No direct script access allowed'); 

class teacher_feedback extends CI_Model { 

    public function teacher_feedback_query($teacher) 
    { 
      $teacher_feedback_query = 'SELECT TD.name, TD.subject, TFA.answer_value, SBI.first_name, TFSAC.comment, TFSC.comment, TFQ.teachers_feedback_question_id FROM teacher_details as TD inner join teachers_feedback_student_answer as TFSA on TFSA.teacher_id = TD.teacher_id inner join teachers_feedback_answer as TFA on TFA.teachers_feedback_answer_id = TFSA.teachers_feedback_answer_id inner join teachers_feedback_student_answer_comment as TFSAC on TFSAC.teacher_id = TD.teacher_id inner join student_basic_info as SBI on SBI.student_id=TFSAC.student_id inner join teachers_feedback_student_comment as TFSC on TFSC.student_id = SBI.student_id inner join teachers_feedback_question as TFQ on TFQ.teachers_feedback_question_id = TFSA.teachers_feedback_question_id where TD.teacher_id = ?'; 

      $teacher_query = $this->db->query($teacher_feedback_query,array($teacher)); 
      //$teacher_feedback_result = $this->db->result($teacher_query); 
      $teacher_feedback_result = $teacher_query->result(); 
      return $teacher_feedback_result; // Remove parenthesis, $teacher_feedback_result is not a function 
    } 
} 

?> 

EDIT:未定義のメソッドのCI_DB_mysqli_driverにエラーコール::結果()

PHPは、このエラーをスローについて

ためのCodeIgniter MySQLiのアダプタクラスメソッドresultはありません。 CodeIgniterのMySQLiドライバクラスを次に示します。

だから、

https://github.com/bcit-ci/CodeIgniter/blob/develop/system/database/drivers/mysqli/mysqli_driver.php

、あなたが$this->db->result($teacher_query)を呼び出している、$this->dbCI_DB_mysqli_driverに取り付けられており、したがって、あなたは未定義のメソッドを呼び出しているエラーを取得する:あなたはそれを確認することができ、そのような方法resultはありません。

+0

ありがとうございます、しかし正確なエラーは何でしたか私に説明することができます – user2143097

+0

CI MySQLiドライバには 'result'メソッドがないためです。編集メモを確認してください。 –

+0

ありがとうございます。 – user2143097

関連する問題