Bonjour,

J'ai suivi le tuto de la doc CakePHP pour la création d'un blog : http://book.cakephp.org/3.0/fr/tutorials-and-examples/blog/part-three.html
Etant débutant je me heurte à quelques problèmes. Sur ma page d'index j'affiche actuellement les articles avec leurs infos (titre, date, résumé,...).
Comme dans le tuto, les articles sont triés en catégories et possèdent tous un champ 'category_id' (clé étrangère). Cependant j'aimerais afficher le nom de la catégorie donc accéder à l'attribut 'name' de ma table categorie. Comment y accéder depuis le controller puis la vue d'Articles?

Merci d'avance!

4 réponses


Xeta
Réponse acceptée

Hello,

public function index()
{
    $this->set('articles', $this->Articles->find('all')->contain(['Categories']));
}

http://book.cakephp.org/3.0/fr/orm/retrieving-data-and-resultsets.html#recuperer-les-donnees-associees

stada
Auteur

Merci pour ta réponse. Il faut inclure quelque chose de particulier?
Actuellement mon code est exactement le même que celui du tuto : http://book.cakephp.org/3.0/fr/tutorials-and-examples/blog/part-two.html

stada
Auteur
object(App\Model\Entity\Article) {

    'id' => (int) 1,
    'title' => 'Test',
    'body' => '<p>test <em>test estset</em></p>
',
    'category_id' => (int) 1,
    'created' => object(Cake\I18n\Time) {

        'time' => '2015-09-14T08:46:09+0000',
        'timezone' => 'UTC',
        'fixedNowTime' => false

    },
    'modified' => object(Cake\I18n\Time) {

        'time' => '2015-09-14T08:46:09+0000',
        'timezone' => 'UTC',
        'fixedNowTime' => false

    },
    '[new]' => false,
    '[accessible]' => [
        '*' => true
    ],
    '[dirty]' => [],
    '[original]' => [],
    '[virtual]' => [],
    '[errors]' => [],
    '[repository]' => 'Articles'

}

Je n'ai accès qu'aux éléments de la table Articles apparemment. :S Je crois pourtant avoir tout suivi dans le tuto.

stada
Auteur

Top, merci! Il me reste encore de la lecture à potasser...