Je suis nouveau sur CakePHP, et je continue à comprendre les bases. En ce moment, je suis un peu mystifié par le processus pour obtenir un ou plusieurs champs d'un modèle (à partir d'un autre modèle lié).Quel est le moyen le plus efficace d'obtenir des données d'un modèle dans CakePHP?
Jusqu'à présent, j'ai ceci:
$this->user->id = 123;
$this->User->read();
$field1 = $this->User->data['User']['field1'];
$field2 = $this->User->data['User']['field2'];
qui semble terriblement bavard.
Et ceci:
$this->user->id = 123;
$field1 = $this->User->field('field1');
$field1 = $this->User->field('field2');
Ce qui semble moins longue, mais les résultats dans deux requêtes.
Ce que je utilisé à faire dans ces situations, pré-gâteau:
$this->User = new User(123);
$field1 = $this->User->field1;
$field2 = $this->User->field2;
ou quand je me sentais comme taper:
this->User = new User(123);
$field1 = $this->User->getFieldOne();
$field2 = $this->User->getFieldTwo();
Ainsi, la question: suis-je manque un peu de magie dans CakePHP par lequel accomplir cette tâche, ou dois-je vivre avec taper beaucoup?
La magie qui vous manque est Ruby. Je ne veux pas être un troll, c'est juste que Cake est une tentative pour obtenir la magie de Ruby en PHP sans se rendre compte que PHP n'est tout simplement pas à la hauteur. –
Pourquoi attribuer une valeur dans un tableau à une seule variable? C'est assez inefficace. Vous n'avez pas besoin d'utiliser $ field1; faites juste un Model :: find() et utilisez la valeur retournée efficacement. –