2017-07-23 5 views
-1

Je viens de faire mettre à jour un site v1.3 à la v3 et c'est buggé comme l'enfer, le développeur est parti pour le week-end et j'essaye de faire les choses.tableaux statiques dans cakephp3 pour l'utilisation dans la forme sélectionne

donc à la fois mon site v1.3 et mon site v2 Je suis en mesure d'avoir un tableau déclaré contre un modèle par exemple, mon modèle de personne pourrait avoir

$salutation = array('Dr', 'Mr', Ms'); 

Ensuite, si mon contrôleur de la commande a été crée une forme et en capturant les détails d'un nouvel utilisateur que je pourrais appeler

$this->set('salutation', $this->Order->Person->salutation); 

et moi aurais la liste de droite pour la forme. Cela a fonctionné comme un régal et j'ai largement utilisé cette technique. CEPENDANT cela ne semble pas être la façon de faire les choses en v3 donc j'ai créé un comportement appelé Listsbehavior et j'ai créé un exemple de test où j'ai ma liste par défaut mis en place et je l'appelle mais je obtenir une erreur

Error: Call to a member function setSalutation() on boolean 

Tous les conseils sur la façon de démêler mes vieilles stratégies scolaires et obtenir les nouvelles de travail les?

+0

Je ne vois pas pourquoi déclarer et accéder à une propriété ne fonctionnerait plus ... vous voudrez peut-être fournir un peu plus de contexte, surtout en ce qui concerne le formulaire. L'erreur "_call à une fonction membre ... sur boolean_" signifie que la propriété à laquelle vous accédez, respectivement la classe que vous essayez de charger n'est pas accessible: ** https: //stackoverflow.com/questions/31813722/what-means-call-à-un-member-function-on-boolean-and-how-to-fix **. Pour une aide plus spécifique, il y aurait encore plus de contexte requis. – ndm

+0

Vous devez montrer votre code essayant-de-faire-le-travail actuel et l'erreur appropriée, avec stacktrace. En déclarant que vous aviez une application 1.3 qui fonctionnait, et après la mise à niveau vous obtenez 'Appel à une fonction membre setSalutation() sur boolean' indique seulement que cela ne fonctionne plus - mais ne donne pas beaucoup d'informations pour aider les lecteurs à souligner ce qu'il faut faire à ce sujet. '$ this-> Order-> Person' est probablement' false' car '$ this-> Order' n'est pas une instance de la classe que vous attendez. -1. – AD7six

+0

Apparemment tout ce que je devais faire était de rendre les noms de modèles au pluriel! –

Répondre

0

Les noms des modèles sont maintenant pluriels plutôt que singuliers. Je suis sûr que je vais comprendre pourquoi à un moment donné, mais tout ce que je devais faire était d'ajouter un "s" aux appels.