Mysql
 sql >> Base de données >  >> RDS >> Mysql

Requête mysql Cakephp 2.0

Je ne sais pas ce que vous avez déjà fait et comment votre contrôleur/modèle est nommé, alors je mets juste des exemples de code qui peuvent aider à comprendre l'idée de base.

Dans le modèle Hpsas, une relation "plusieurs à un" est définie.

class Hpsas extends AppModel {
    public $belongsTo = array(
        'uniqueAlias1' => array(
            'className'  => 'Ldaps',
            'foreignKey' => 'ciname'
        )
    );
/... 

Dans le modèle Ldaps, la relation "un à plusieurs" est définie.

class Ldaps extends AppModel {
    public $hasMany = array(
        'uniqueAlias2' => array(
            'className'  => 'Hpsas',
            'foreignKey' => 'ciname'
        ),
    );
/...

Maintenant, si vous exécutez le code $this->Hpsas->find('all') sur le contrôleur Hpsass, vous obtiendrez probablement les résultats suivants :

array(
    (int) 0 => array(
        'uniqueAlias1' => array(
            //hpsas table row with value
        ),
        'uniqueAlias2' => array(
            //ldaps table row where hpsas.ciname = ldaps.ciname 
        )
    ),
        //rest hpsas table rows
)

Ne vous trompez pas sur les alias que j'ai utilisés dans les échantillons, vous pouvez nommer ce que vous voulez. Ils sont pratiques lorsqu'il est nécessaire de traiter plusieurs associations pour le même modèle. Des exemples expliqués plus en détail peuvent être trouvés sur documentation .