我的问题是:
SELECT *
FROM outlets
INNER JOIN users ON outlets.owner=users.id;结果是一个数组,其中一个表的索引与另一个表的索引匹配。是否有可能以某种方式提出这样的请求: owner = array,并且已经有了一个结构结果:
Array ( [id] => 1 [owner] => 1 [name] => Рома [email] => admin [username] => admin [password] => admin [role] => 1 [photo] => [permissions] => {"menu": {"menu.shop": 1, "menu.users": 1, "menu.stocks": 1, "menu.clients": 1, "menu.finances": 1, "menu.partners": 1, "menu.products": 1, "menu.purchase": 1, "menu.dashboard": 1}} [status] => 1 )发布于 2022-10-02 22:03:29
发布于 2022-10-02 22:10:53
如果我理解正确的话。您希望有一个所有者值,其中包含用户的数据(但不具有相同级别的数据)。
选项1:通过,您可以执行两个单独的查询并手动连接结果。但你可能会受到表现上的惩罚。
选项2:作为一项建议,如果您需要这样的有效负载,只需按需要手动重新格式化数组,如下所示:
$originalArray = ['id' => 1, 'owner' => 1, 'name' => 'test', 'username' => 'test'];
$reformatedArray = [];
foreach($originalArray as $values){
$reformatedArray['id'] = $values['id'];
$reformatedArray['owner']['name'] = $values['name'];
$reformatedArray['owner']['name'] = $values['username'];
// ...
}
print_r($reformatedArray);
// ['id' => 1, 'owner' => ['name' => 'test', 'username' => 'test']]希望能帮上忙。
https://stackoverflow.com/questions/73928683
复制相似问题