2016-03-21 1 views
0

Je vais obtenir un JSON comme la structure suivante de ma base de données:Obtenez JSON de la relation OneToOne utilisant propulsent

{ 
"Users": [ 
    { 
     "Id": 1, 
     "Name": "a", 
     "Family": "b", 
     "RegisterId": 1, 
     "AccessType": 1, 
     "Username": "abc" 
    }, 
    { 
     "Id": 2, 
     "Name": "x", 
     "Family": "y", 
     "RegisterId": 2, 
     "AccessType": 1, 
     "Username": "xyz" 
    } 
] 
} 

Id, nom, famille, RegisterId, AccessType sont des colonnes User_TBL et nom d'utilisateur est la colonne Register_TBL.

je peux obtenir ce JSON en utilisant ci-dessous requête:

SELECT u.id,u.name,u.family,u.access_type,u.register_id,r.username 
FROM `user` as u LEFT JOIN `register` as r 
ON u.register_id = r.id 

Je suis en train d'utiliser ci-dessous à l'aide en ligne propulsent, mais il montre que toutes les colonnes User_TBL.

$userList = UserQuery::create()-> joinWith('User.Register')-> find(); 

Quelle est votre suggestion?!

Répondre

0

J'ai utilisé le code ci-dessous et il a résolu mon problème.

$userList = UserQuery::create() 
     -> leftJoinRegister() 
     -> select(array('ID','NAME','FAMILY','AccessType')) 
     -> withColumn('Register.Username' , 'Username') 
     ->find();