sql >> Database >  >> RDS >> Mysql

Gegevens ophalen uit twee tabellen die zijn gekoppeld aan een vreemde sleutel in CakePhp

Allereerst moet uw tabelstructuur zijn zoals hieronder.

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

Nu zou het model voor elke tafel zijn.

Inloggen

<?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' => ''
        )
}
?>

Gebruikersdetail

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

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

En tot slot in de controller waar je inloggegevens moet ophalen.

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

U zult userDetail-tabelrecords zien in de resulterende $login_detail .gebruik

pr($login_detail);
in de controller om het in actie te zien.

Proost.Vraag gerust.



  1. MySQL NOT IN uit een andere kolom in dezelfde tabel

  2. Hoe te controleren of PostgreSQL-array waarde bevat?

  3. Vertraagde duurzaamheid in SQL Server 2014

  4. PHP mySQL - Voeg een nieuw record in de tabel in met auto-increment op de primaire sleutel