简体   繁体   English

CodeIgniter 4 - 将多行连接到数组

[英]CodeIgniter 4 - join multiple rows to array

I use CodeIgniter 4 and I get users by this code:我使用 CodeIgniter 4 并通过以下代码获取用户:

$userModel = new UserModel();
$users = $userModel->findAll();

Result:结果:

array(8) {   [0]=>   array(14) {
    ["id"]=>
    string(1) "1"
    ["name"]=>
    string(6) "Admin"
    ["surname"]=>
    string(5) "Admin"
    ["emailOfficial"]=>
    string(20) "admin@poczta.pl"
    ["password"]=>
    string(60) "XXXX"
    ["role"]=>
    string(6) "master"
    ["isActive"]=>
    string(1) "1"   } ...

I need add all markets to user (something like below):我需要将所有市场添加到用户(如下所示):

"markets" => [
  {
    "id": 1,
    "name": "test"
  },
  {
    "id": 2,
    "name": "test 2"
  }
]

I keep relationship of markets with users in another table (users_markets):我在另一个表 (users_markets) 中保留市场与用户的关系:

用户组表

Table markets:餐桌市场:

市场表

Is such a join even possible?这样的连接甚至可能吗?

You could do it as follows:你可以这样做:

select u.*, m.name as marketName
from users u
inner join users_markets um on u.id = um.userId
inner join markets m on m.id = um.marketId
order by u.id;

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM