Mysql
 sql >> Datenbank >  >> RDS >> Mysql

SQL-Fehler bei Paginierung

Es ist immer ratsam, den Debug-Modus einzuschalten, um alle möglichen Fehler im Detail zu sehen. Sie haben gerade den SQL-Fehlerteil geteilt, aus dem klar hervorgeht, dass die beabsichtigte Tabelle das Feld "sender_id" nicht hat . Ich gehe davon aus, dass du den Debug-Modus aktiviert hast. Schauen Sie sich also zuerst die generierte Abfrage an. Dann finden Sie heraus, in welche Tabelle die Abfrage einzudringen versucht.

Wenn Ihre Abfrage auf die richtige Tabelle verweist, können Sie Folgendes versuchen:

public function index_admin(){
        $this->set('title_for_layout', 'Relationships');
        $this->set('stylesheet_used', 'homestyle');
        $this->set('image_used', 'eBOXLogoHome.png');   
        $this->layout='home_layout';

        //retrieve Account Id of current User       
        $accountid=$this->Auth->user('account_id');

        //Conditions
        $conditions=array(
        "OR"=> array(
            'Relationship.sender_id' => $accountid,
            'Relationship.receiver_id' => $accountid)
        );
        App::import('Model', 'Relationship');
        $objRelationship = new Relationship();
        $this->paginate = array( "conditions" => $conditions, 'limit' => 10 );
        $relationships = $this->paginate( $objRelationship );

        $compName = $this->Account->field('account_name', array('id' => 'Relationship.id'));

        $this->set('accountid', $accountid); 
        $this->set('relationship', $this->paginate());  
        $this->set('compName', $compName);
}