2010-06-18 7 views

Répondre

0

Pourquoi avez-vous passé le null comme premier paramètre? Ce devrait être une chaîne sur le tableau de champs que vous voulez récupérer.

Quoi qu'il en soit, essayez ceci:

$this->BuildingProperty->id = $id; 
$this->data = $this->BuildingProperty->read(); 
+0

Il est tout à fait approprié d'utiliser 'read()' comme ça. Passer 'null' signifie simplement" tous les champs ". http://book.cakephp.org/view/1029/read – deceze

+0

merci, mais celui-ci ne fonctionne pas non plus. – Msofts

0

La syntaxe que vous utilisez est correct. Vérifiez d'abord si $ id est entier. (echo $ id). Alors si c'est le cas, vérifiez votre base de données si elle a un tel enregistrement dans la table building_properties vérifier si cet ID existe. Enfin, vérifiez si la variable $ this-> data est remplie avec les bonnes valeurs.

Toutes ces vérifications vous renvoient des valeurs correctes alors le problème n'est pas dans la fonction Model-> read().

Un autre indice, essayez de vider le cache/app/tmp/cache/modules et/app/tmp/cache/persistant

0

appellent la méthode d'un contrôleur qui connaît BuildingProperty? c'est-à-dire BuildingPropertiesController. Sinon, avez-vous inclus une déclaration

var $uses = array('BuildingProperty'); 

dans la définition de la classe ou chargée explicitement le modèle, par exemple,

loadModel('BuildingProperty') 

Votre syntaxe est correcte et la seule autre explication s'il n'y a pas d'avertissement ou un message d'erreur indique que le tableau renvoyé est vide, c'est-à-dire que l'enregistrement n'existe pas.

Vérifiez que vous avez debug activé:

Configure::write('debug', 1); // or higher.A 2 will output SQL queries as well 

essayez

debug($this->BuildingProperty->read(null,$id)); 

Vous devriez au moins obtenir une sortie vous dire la ligne de l'appel de débogage.