sql >> Databáze >  >> RDS >> Mysql

Načítání dat ze dvou tabulek, které jsou spojeny s cizím klíčem v CakePhp

Za prvé, struktura vaší tabulky musí být taková, jak je uvedeno níže.

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

Nyní by model pro každou tabulku byl.

Přihlaste se

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

UserDetail

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

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

A nakonec v ovladači, kde musíte získat přihlašovací údaje.

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

Záznamy tabulky userDetail uvidíte ve výsledném $login_detail .použijte

pr($login_detail);
v ovladači, abyste to viděli v akci.

Na zdraví. Neváhejte se zeptat.



  1. SQLite - Pusťte databázi

  2. V databázi jsou symboly jako  a tak dále, co dělat?

  3. Bezpečné ukládání citlivých dat v databázi

  4. Laravel 5 Vytvoření nového záznamu, který patří ke 3 dalším tabulkám