cakephp 所有数组数据的一个查询!结果是通过分隔数组的每个id

kcugc4gi  于 2022-11-12  发布在  PHP
关注(0)|答案(1)|浏览(81)

我正在搜索每个事务处理ID的所有名称。例如,ID 1包含用户A、B。ID 2包含用户A。ID 3包含用户A、C。
我可以像这样获得属于每个ID的用户名

foreach ($Ids in $id){
    $query = [
            'fields' => [
                'USER.name'
            ],
            'joins' => [
                [
                    'type' => 'LEFT',
                    'table' => 'users',
                    'alias' => 'USER',
                    'conditions' => [
                        'TransactionUser.user_id=USER.id'
                    ]
                ]
            ],
            'conditions' => [
                'TransactionUser.transaction_id' => $id
            ]
        ];
    $this->find('all', $query);
}

但问题是我的领导不想循环查询,只想用一个查询。所以我这样尝试。

$query = [
                'fields' => [
                    'USER.name',
                    'TransactionUser.transaction_id'
                ],
                'joins' => [
                    [
                        'type' => 'LEFT',
                        'table' => 'users',
                        'alias' => 'USER',
                        'conditions' => [
                            'TransactionUser.user_id=USER.id'
                        ]
                    ]
                ],
                'conditions' => [
                    'TransactionUser.transaction_id' => $Ids
                ]
            ];
        $this->find('all', $query);

这是在cakePHP中完成的,结果是这样的。

Array
(
    [0] => Array
        ( ([name] => A), ([transaction_id] => 1))
    [1] => Array
        ( ([name] => B), ([transaction_id] => 1))
    [2] => Array
        ( ([name] => A), ([transaction_id] => 2))
    [3] => Array
        ( ([name] => A), ([transaction_id] => 3))
    [4] => Array
        ( ([name] => C), ([transaction_id] => 3))
)

但我想要这样的数据。

Array
(
    [0] => Array
        ( ([name] => A, B), ([transaction_id] => 1))
    [1] => Array
        ( ([name] => A), ([transaction_id] => 2))
    [2] => Array
        ( ([name] => A, C), ([transaction_id] => 3))
)

我试着在查询中使用'group',但是效果不好。我是cakePHP查询新手。如果你知道如何使用,请帮助我。

dwbf0jvd

dwbf0jvd1#

我只是想知道一些查询关键字的cakePHP的这种情况下是聪明的,但它看起来像没有。所以只是循环结果所需的数组。

相关问题