Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Consulta mysql do Cakephp 2.0


Não tenho certeza do que você já fez e como seu controlador/modelo é nomeado, então coloquei exemplos de código que podem ajudar a entender a ideia básica.

No modelo Hpsas a relação "muitos para um" é definida.
class Hpsas extends AppModel {
    public $belongsTo = array(
        'uniqueAlias1' => array(
            'className'  => 'Ldaps',
            'foreignKey' => 'ciname'
        )
    );
/... 

No modelo LDAP, a relação "um para muitos" é definida.
class Ldaps extends AppModel {
    public $hasMany = array(
        'uniqueAlias2' => array(
            'className'  => 'Hpsas',
            'foreignKey' => 'ciname'
        ),
    );
/...

Agora, se executar o código $this->Hpsas->find('all') no controlador Hpsass, você provavelmente obterá os seguintes resultados:
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
)

Não se confunda com o alias que usei nas amostras, você pode nomear o que quiser. Eles são úteis quando é necessário lidar com associações múltiplas para o mesmo modelo. Amostras explicadas mais detalhadas podem ser encontradas em documentação .