Я собираюсь получить JSON-подобную структуру из моей базы данных:
{
"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"}
]
}
Идентификатор, Имя, Семейство, 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
Я пытаюсь использовать строку ниже, используя Propel, но он просто показывает все столбцы User_TBL.
$userList = UserQuery::create()-> joinWith('User.Register')-> find();
Что вы предлагаете ?!
Я использовал приведенный ниже код, и это решило мою проблему.
$userList = UserQuery::create()
-> leftJoinRegister()
-> select(array('ID','NAME','FAMILY','AccessType'))
-> withColumn('Register.Username' , 'Username')
->find();
Других решений пока нет …