sql >> Database teknologi >  >> RDS >> Mysql

Hentning af data fra to tabeller, der er forbundet med en forlignøgle i CakePhp

Først og fremmest skal din tabelstruktur være som nedenfor.

logins Table.
  Id auto_increment
  username
  password
userDetails Table.
  Id auto_increment
  user_id
  name
  address
  etc...

Nu model for hver tabel ville være.

Login

<?php
class Login extends AppModel
{
    var $name = 'User';

    var $hasMany = array
    (
        'UserDetail' => array
        (
            'className' => 'UserDetail',
            'foreignKey' => 'user_id',
            'dependent' => false,
            'conditions' => '',
            'fields' => '',
            'order' => '',
            'limit' => '',
            'offset' => '',
            'exclusive' => '',
            'finderQuery' => '',
            'counterQuery' => ''
        )
}
?>

BrugerDetail

<?php
class UserDetail extends AppModel
{
    var $name = 'UserDetail';

    var $belongsTo = array
    (
        'User' => array
        (
            'className' => 'User',
            'foreignKey' => 'user_id',
            'dependent' => false,
            'conditions' => '',
            'fields' => '',
            'order' => '',
            'limit' => ''
        )
}
?>

Og endelig i controlleren, hvor du skal hente login detaljer.

$login_detail = $this->Login->find('all');

Du vil se userDetail tabelposter i resulterende $login_detail .brug

pr($login_detail);
i controlleren for at se den i aktion.

Skål. Spørg gerne.



  1. Hvad er datatypen for unix_timestamp (MySQL)?

  2. Er der nogen, der nogensinde har brugt PayPal Website Payments Standard med SESSION-variabler?

  3. ved at kombinere mysql-forespørgsel SUM()-resultat ved hjælp af indre joinforbindelse

  4. Få årets dag fra en dato i SQL Server (T-SQL)