2016-06-29 3 views
0

Ich arbeite mit Version 2.6.1 von CakePHP. Ich habe einen Controller als AndroidController.php Namen erstellt und das sieht aus wieKann nicht mehrere Datensätze aus der Datenbank in CakePHP abrufen

<?php 
class AndroidController extends AppController { 

public function survey_question() 
{ 
    Configure::write('debug', '2'); 
    $survey_id = $_REQUEST['survey_id']; 
    $this->layout = ""; 
    //$condition = "Question.survey_id = '".$survey_id."'"; 
    $info = $this->Question->find('all', array(
     'conditions' => array(
        "Question.survey_id" => $survey_id /*dont use array() */ 
      ) 
     )); 
    echo json_encode($info); 
    exit; 
} 
} 
?> 

Also, es einen Fehler gibt, wie

Error: The action admin_survey_question is not defined in controller AndroidController

Error:Create AndroidController::admin_survey_question() in file: app/Controller/AndroidController.php.

Note :My website url is http://navyon.com/dev/mt/admin/android/survey_question?survey_id=2

So wie kann ich dieses Problem lösen?

+0

Sie versuchen "http://navyon.com/dev/mt/android/survey_question?survey_id=2". In URL Admin bedeutet, dass es die Admin-Funktion –

+0

@MathsRkBala sucht ich weiß nicht, warum ich Admin verwendet, weil im Projekt sie Admin dann Controller Name dann Methode verwenden.So habe ich URL als Admin als Controller als Methode verwenden. –

+0

Sie ändern "survey_question" in "admin_survey_question". Dann wird Ihr Problem gelöst. –

Antwort

2

Sie haben aktivieren admin Routing für diese Aktion so sollten Sie Ihre Aktion admin_ dann Ihre Aktion aussehen wie unten voran:

<?php 
class AndroidController extends AppController { 

public function admin_survey_question() 
{ 
Configure::write('debug', '2'); 
$survey_id = $_REQUEST['survey_id']; 
$this->layout = ""; 
//$condition = "Question.survey_id = '".$survey_id."'"; 
$info = $this->Question->find('all', array(
    'conditions' => array(
       "Question.survey_id" => $survey_id /*dont use array()  */ 
     ) 
    )); 
echo json_encode($info); 
exit; 
} 
} 
?> 

Wenn Sie nicht wollen, admin Routing aktivieren für diese Aktion dann Admin entfernen url und Zugriff wie folgt:

http://navyon.com/dev/mt/android/survey_question?survey_id=2 
+0

Es gibt einen Fehler wie ** Fehler: Aufruf an eine Mitgliedsfunktion finden() auf einem Nicht-Objekt ** –

+0

schreiben Sie einfach $ this-> loadModel ('Frage'); 'innerhalb der Aktion.Its bedeutet, dass Sie nicht Model.Try geladen haben, um mehr über CakePHP zu erfahren http: //book.cakephp .org/2.0/de/models.html :) –

+0

like 'öffentliche Funktion admin_survey_question() { $ this-> loadModel ('Question'); ..... ' –