Php 使用sprip从OneToOne关系获取JSON

Php 使用sprip从OneToOne关系获取JSON,php,json,left-join,propel,one-to-one,Php,Json,Left Join,Propel,One To One,我将从我的数据库中获得类似以下结构的JSON: { "Users": [ { "Id": 1, "Name": "a", "Family": "b", "RegisterId": 1, "AccessType": 1, "Username": "abc" }, { "Id": 2, "Name": "x", "Family": "

我将从我的数据库中获得类似以下结构的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"
    }
]
}
Id、Name、Family、RegisterId、AccessType是User\u TBL列,Username是Register\u 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
我试图使用“推进”在行下使用,但它只显示所有用户列

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

你有什么建议

我使用了下面的代码,它解决了我的问题

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