Bonjour à tous,

J'ai deux modeles : Article et Shop
J'ai deux tables: articles et shops
Dans la table arctilces j'ai un champs shop_id

Dans mon modele articles.php j'ai ceci pour faire la jointure:

public $actsAs = array('Containable');
    public $hasMany =array(
        #'Media' => array(
        #   'dependent' => true
        #),
        'ArticleTag'
        );
    public $belongsTo = array(
            'Category' => array(
                'counterCache' => array(
                    'article_count' => array(
                        'Article.online' => 1,
                        'Article.created <= NOW()'
                        )
                ),
            'Shop'
            )
    );
    public $hasAndBelongsToMany = array('Tag');

Dans mon modele shop.php,
j'ai rien sauf ca:

<?php
class Shop extends AppModel {  
}

Ensuite, si je vais dans mon action admin_index, le debug ne m'affiche pas la liaison, dont rien de Shop du genre $d'Shop']

function admin_index(){
        // Limite la pagination a 1 pour Articles
        $this->paginate = array('Article'=>array('limit'=>20,'order'=>'name ASC'));
        $d'articles']=$this->Paginate('Article',array('type'=>'article','online >=0'));
        debug($d);
        $this->set($d);
    }

Ou ai-je fait mon erreur?

Merci à vous

3 réponses


Juste comme ça a l'oeil hein, je pense que c'est une faute de typo dans ton post mais :

Dans mon modele shops.php,

le model doit etre un fichier shop.php

Je regarde pour le reste ;)

Heu oui, c'est une faute de typo, je corrige

J'avais aussi uen erreur ici

public $belongsTo = array(
        'Category' => array(
            'counterCache' => array(
                'article_count' => array(
                    'Article.online' => 1,
                    'Article.created <= NOW()'
                    )
            ),
        'Shop'
        )
);

Le shop est au mauvais endroit:

public $belongsTo = array(
        'Category' => array(
            'counterCache' => array(
                'article_count' => array(
                    'Article.online' => 1,
                    'Article.created <= NOW()'
                    )
            )
        ),
'Shop'
);