bonjour
j'utilise un simple findfirst, mais ca ne me retourne rien

ItemsController.php

public function admin_lorem()
    {
        $it = $this->Item->find('first');
        debug($it);
}

Item.php

class Item extends AppModel {
        public $useDbConfig = 'db2';
    public $useTable = 'item';
    public $displayField = 'title';
}

alors que ceci fonctionne

public function admin_index() {
        $this->Item->recursive = 0;
        $this->set('items', $this->Paginator->paginate());
    }

public $db2 = array(
        'datasource' => 'Database/Mysql',
        'persistent' => false,
        'host' => 'localhost',
        'login' => 'root',
        'password' => '',
        'database' => 'bd2',
        'prefix' => 't_',
        'encoding' => 'utf8',
    );

Je pete un cable de vélo.
merci d'avance pour toute pistes

Ma vue est vide,

J'ai pourtant copié la requete et executé dans le requeteur sql ca marche
j'ai fait egalement un $items = $this->Item->find('count');
et ca marche aussi.
c'est simplement le find first qui semble ne rien retourné

4 réponses


sylvain
Auteur

Bon j'ai trouvé le probleme, qui est un peu etrange, c'est le debug qui ne renvoi rien.
Alors qu'un var_dump me retourne bien les informations

sylvain
Auteur

non ca ne marche pas mieux`, comme j'ai ecrit, le var_dump fonctionne. pas le debug.

A aucun moment tu ne passes les données à la vue en fait.

Dans ta function admin_lorem() il manque un truc du genre :

$this->set('Item', $it);

Cela dit, ça n'explique pas pourquoi ton debug n'affiche rien.
Mais là encore, le debug que tu nous a montré en capture d'écran est un debug effectué dans la vue (il est dans le corps de la page, et pointe sur admin_lorem.ctp). Donc sans avoir passé tes données à la vue, il ne risque pas d'afficher quoique ce soit.

sylvain
Auteur

J'ai essaye aussi le debug directement après le findfirst dans le controller. Mais ça ne change rien. Debug ko var dump ok