2011-04-21 9 views
0

En cours d'exécution dans un autre problème que je semble juste ne peux pas trouver des informations que pourrait causer.CakePHP: variable indéfinie utilisant find et containeable

Je déclare la variable $ make et à l'intérieur de la vue je ne la trouve pas.

voici mon code actuel:

function makemodel($id = null) { 
    $this->Make->id = $id; 

    $makes = $this->Make->find('all', array(
     'conditions' => array('id' => $id), 
     'contain' => array('Makemodel' => array('Road')) 
     ) 
    ); 
} 

} >

J'ai aussi essayé: $ this-> set -> ('fait', $ this-> Make-> trouver (script ici));

Un conseil serait apprécié merci!

Existe-t-il d'autres matériaux de référence que le livre de cakePHP?

Tableau ( [0] => Tableau ( [Make] => array ( [id] => 1 [url_make] => subaru [MakeName] => Subaru [MakeOrigin] => Japon [Résumé] =>

  ) 

     [Makemodel] => Array 
      (
       [0] => Array 
        (
         [id] => 1 
         [ModelName] => Impreza WRX 
         [make_id] => 1 
         [Road] => Array 
          (
           [0] => Array 
            (
             [id] => 3 
             [makemodel_id] => 1 
             [RoadTypeID] => 1 
             [name] => Dirt 
            ) 

           [1] => Array 
            (
             [id] => 4 
             [makemodel_id] => 1 
             [RoadTypeID] => 2 
             [name] => Snow 
            ) 

          ) 

        ) 

      ) 

    ) 

)

Répondre

1

En supposant que l'appel de découverte fonctionne correctement, vous devez transmettre les données de votre contrôleur à votre point de vue en utilisant la méthode set().

function makemodel($id = null) { 
    $this->Make->id = $id; 

    $makes = $this->Make->find('all', array(
     'conditions' => array('id' => $id), 
     'contain' => array('Makemodel' => array('Road')) 
     ) 
    ); 
    $this->set(compact('makes')); 
} 
+0

Super merci de commencer à comprendre. Pouvez-vous s'il vous plaît me donner une indication pourquoi cela ne marche pas. J'ai été capable de faire un debug ($ makes) et les tableaux sont corrects. – Michael

+0

Cela peut nécessiter une nouvelle question, mais 'MakeName' est-il un modèle ou un champ? – Stoosh

+0

MakeName est un champ – Michael

0

est find résultats corrects retour ?

function makemodel($id = null) { 
    $makes = $this->Make->find('all', array(
     'conditions' => array('id' => $id), 
     'contain' => array('Makemodel' => array('Road')) 
     ) 
    ); 
    $this->set('makes', $makes); 
}