Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Cakephp 2.0 MySQL-Abfrage

Ich bin mir nicht sicher, was Sie bereits getan haben und wie Ihr Controller / Modell benannt ist, daher habe ich nur Codebeispiele eingefügt, die zum Verständnis der Grundidee beitragen können.

Im Hpsas-Modell ist eine "Viele-zu-Eins"-Beziehung definiert.

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

Im Ldaps-Modell ist eine "Eins-zu-Viele"-Beziehung definiert.

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

Führen Sie nun den Code $this->Hpsas->find('all') aus Auf dem Hpsass-Controller erhalten Sie wahrscheinlich folgende Ergebnisse:

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
)

Lassen Sie sich nicht durch den Alias ​​verwirren, den ich in den Beispielen verwendet habe. Sie können einen beliebigen Namen nennen. Sie sind praktisch, wenn Sie mit mehreren Assoziationen für dasselbe Modell umgehen müssen. Ausführlichere Erklärungsbeispiele finden Sie unter Dokumentation .