2016-03-21 1 views
0

Я собираюсь получить JSON, как следующая структуру из моей базы данных:получить JSON из OneToOne связи с использованием продвинет

{ 
"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, имя, семью, RegisterId, AccessType являются User_TBL столбцы и Имя пользователя является Register_TBL столбца.

я могу получить этот JSON, используя ниже запроса:

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 

Я пытаюсь использовать ниже строки с помощью приведения в движение, но он просто показывает все столбцы User_TBL.

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

Какое ваше предложение?!

ответ

0

Я использовал ниже код, и он решил мою проблему.

$userList = UserQuery::create() 
     -> leftJoinRegister() 
     -> select(array('ID','NAME','FAMILY','AccessType')) 
     -> withColumn('Register.Username' , 'Username') 
     ->find(); 
Смежные вопросы