sql >> Databasteknik >  >> RDS >> Mysql

Cakephp 2.0 mysql-fråga

Osäker på vad du redan har gjort och hur din styrenhet/modell heter så jag lägger bara in kodexempel som kan hjälpa dig att förstå grundläggande idé.

I Hpsas-modellen definieras "många till en"-relation.

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

I Ldaps-modellen definieras förhållandet "en till många".

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

Utför nu koden $this->Hpsas->find('all') på Hpsass-kontroller kommer du sannolikt att få följande resultat:

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
)

Bli inte förvirrad över alias jag använde i prover, du kan namnge vad du vill. De är praktiska när man behöver ta itu med multipla associationer för samma modell. Mer detaljerade förklarade exempel kan hittas på dokumentation .




  1. Lägg till DATUM- och TID-fält för att få DATUM-TID-fält i MySQL

  2. VÄNSTER JOIN endast första raden

  3. Hur aktiverar jag MySQL-frågelogg?

  4. Formatera ett tal som valuta i SQLite