У меня есть один основной массив, который является возвращенными данными из запроса MySQL для пользовательской таблицы, который выглядит следующим образом:
array(36) {
[0]=>
array(4) {
["id"]=>
string(1) "101"
["email"]=>
string(15) "kkkk@gggg.com"
["firstname"]=>
string(8) "aaaaa"
["lastname"]=>
string(12) "bbbbb"
}
[1]=>
array(4) {
["id"]=>
string(1) "102"
["email"]=>
string(17) "mmmmm@hhhhh.com"
["firstname"]=>
string(12) "vvvv"
["lastname"]=>
string(12) "zzzzz"
}
[2]=>
array(4) {
["id"]=>
string(2) "103"
["email"]=>
string(17) "eeee@gmail.com"
["firstname"]=>
string(6) "ggggg"
["lastname"]=>
string(12) "zzzzz"
И так далее ... И второй массив, который снова является запросом MySQL, которыйвзято из таблицы с двумя внешними ключами, связывающей ч / б две таблицы многие со многими, и выглядит так:
array(7) {
[0]=>
array(2) {
["user_id"]=>
string(3) "101"
["group_id"]=>
string(1) "1"
}
[1]=>
array(2) {
["user_id"]=>
string(3) "102"
["group_id"]=>
string(1) "1"
}
[2]=>
array(2) {
["user_id"]=>
string(3) "103"
["group_id"]=>
string(1) "1"
}
Конечная цель - сделать 5-й ключ в первом массиве, что-то вроде:
["groups"] => ...
, который я могу заполнить идентификаторами групп, в которых каждый пользователь принимает участие и в конце которых выглядитчто-то вроде этого:
["groups"] => "1,2,3,4"
Другими словами, поскольку отношение много ко многим,Пользователь может участвовать в более чем одной группе, когда я нажимаю новое значение. Я не хочу создавать новый ключ со значением, а вместо этого объединить существующие значения ключа с новым идентификатором.
Пока что яесть что-то вроде этого:
$query = $this->mUsers->getAll(); //Main query to get users data
$results = $this->mUsers->getGroupsAndUsers(); //Query for getting the group_id and user_id
// Looping both arrays to find matching ID's
foreach($query as $key=>$value){ //$value['id'] returns the value of the users id from table users
foreach($results as $row){
if ($value['id']==$row['user_id'])
{
array_push($value,"groups",$row['group_id']);
}
}
}
Но я не работаю.Я попробовал несколько других вещей, но пока ничего.
Спасибо, Лерон