Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Pobieranie danych z dwóch tabel powiązanych z kluczem obcym w CakePhp

Przede wszystkim struktura tabeli musi być taka jak poniżej.

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

Teraz model dla każdego stołu byłby taki.

Zaloguj się

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

Szczegóły użytkownika

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

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

I wreszcie w kontrolerze, gdzie musisz pobrać dane logowania.

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

Zobaczysz rekordy tabeli userDetail w wynikowym $login_detail .użyj

pr($login_detail);
w kontrolerze, aby zobaczyć go w akcji.

Cheers.Zapraszam do zapytania.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL — BŁĄD 1045 — Odmowa dostępu

  2. Jak wywołać echo instrukcji print podczas wykonywania skryptu sql?

  3. Praca z dużą ilością danych z mysql

  4. jak ustawić tablicę jako zmienną użytkownika mysql

  5. Jak wyeksportować bazę danych SQL Server do MySQL?