w pewnym zapytaniu SQL dostaję taką tablicę (a więc brakuje ID 4 i 6)
Jak zrobić aby na pozycjach brakujących była wartość np.NULL aby zachować ustaloną wcześniej kolejność, a więc taką tablicę:
?
SELECT m0_.id AS id0, t1_.name AS name1, t2_.name AS name2, t3_.host_type AS host_type3, t3_.guest_type AS guest_type4, u4_.username AS username5, m0_.term AS term6 FROM type t3_ INNER JOIN meet m0_ ON t3_.meet_id = m0_.id INNER JOIN team t1_ ON m0_.hostTeam_id = t1_.id INNER JOIN team t2_ ON m0_.guestTeam_id = t2_.id INNER JOIN matchday m5_ ON m0_.matchday_id = m5_.id INNER JOIN user u4_ ON t3_.user_id = u4_.id WHERE m5_.id = 8 ORDER BY u4_.id ASC, m0_.id ASC
SELECT m.id AS id0, t1.name AS name1, t2.name AS name2, t.host_type AS host_type3, t.guest_type AS guest_type4, u.username AS username5, m.term AS term6 FROM user u LEFT OUTER JOIN type t ON t.user_id = u.id LEFT OUTER JOIN meet m ON t.meet_id = m.id LEFT OUTER JOIN team t1 ON m.hostTeam_id = t1.id LEFT OUTER JOIN team t2 ON m.guestTeam_id = t2.id LEFT OUTER JOIN matchday md ON m.matchday_id = md.id WHERE md.id = 8 AND u.STATUS = 1 ORDER BY u.id ASC, m.id ASC
SELECT m.id AS id0, t1.name AS name1, t2.name AS name2, t.host_type AS host_type3, t.guest_type AS guest_type4, u.username AS username5, m.term AS term6 FROM user u LEFT JOIN type t ON t.user_id = u.id LEFT JOIN meet m ON t.meet_id = m.id LEFT JOIN team t1 ON m.hostTeam_id = t1.id LEFT JOIN team t2 ON m.guestTeam_id = t2.id LEFT JOIN matchday md ON m.matchday_id = md.id WHERE md.id = 8 AND u.STATUS = 1 ORDER BY u.id ASC, m.id ASC
SELECT m.id AS id0, t1.name AS name1, t2.name AS name2, t.host_type AS host_type3, t.guest_type AS guest_type4, u.username AS username5, m.term AS term6 FROM user u, meet m LEFT JOIN type t ON t.user_id = u.id LEFT JOIN team t1 ON m.hostTeam_id = t1.id LEFT JOIN team t2 ON m.guestTeam_id = t2.id LEFT JOIN matchday md ON m.matchday_id = md.id WHERE md.id = 8 AND u.STATUS = 1 ORDER BY u.id ASC, m.id ASC
SELECT m.id AS id0, t1.name AS name1, t2.name AS name2, t.host_type AS host_type3, t.guest_type AS guest_type4, u.username AS username5, m.term AS term6 FROM (user u, meet m) LEFT JOIN type t ON t.user_id = u.id LEFT JOIN team t1 ON m.hostTeam_id = t1.id LEFT JOIN team t2 ON m.guestTeam_id = t2.id LEFT JOIN matchday md ON m.matchday_id = md.id WHERE md.id = 8 AND u.STATUS = 1 ORDER BY u.id ASC, m.id ASC
SELECT t.host_type AS host_type3, t.guest_type AS guest_type4, u.username AS username5 FROM user u LEFT JOIN type t ON t.user_id = u.id WHERE u.STATUS = 1 ORDER BY u.id
[0]=> ["meet_id"]=> string(1) "1" ["hostType"]=> string(1) "0" ["guestType"]=> string(1) "2" ["username"]=> string(6) "Damian" } [1]=> ... } [70]=> ["meet_id"]=> NULL ["hostType"]=> NULL ["guestType"]=> NULL ["username"]=> string(9) "Przemek 2" } [71]=> ["meet_id"]=> NULL ["hostType"]=> NULL ["guestType"]=> NULL ["username"]=> string(6) "Adam 2" } [72]=> ....
[0]=> ["meet_id"]=> int(1) ["host"]=> string(12) "FC Barcelona" ["guest"]=> string(11) "Real Madryt" ["description"]=> string(16) "Liga Hiszpańska" ["term"]=> string(23) "Wtorek,12-12-2016,21:00" } [1]=>
foreach($meets as $meet){ foreach ($usersTypes as $types){ if($meet['meet_id'] == $types['meet_id']) { if($meet['meet_id'] == null){ $result[$types['meet_id']]['types'][] = '-'; }else{ $result[$types['meet_id']]['types'][] = $types['hostType'].' - '.$types['guestType']; } } } $result[$meet['meet_id']]['meet_id'] = $meet['meet_id']; $result[$meet['meet_id']]['host'] = $meet['host']; $result[$meet['meet_id']]['guest'] = $meet['guest']; }
[1]=> ["types"]=> [0]=> string(5) "0 - 2" [1]=> string(5) "1 - 1" [2]=> string(5) "1 - 0" [3]=> string(5) "2 - 0" [4]=> string(5) "0 - 1" [5]=> string(5) "2 - 0" [6]=> string(5) "1 - 2" [7]=> string(5) "2 - 0" } ["meet_id"]=> int(1) ["host"]=> string(12) "FC Barcelona" ["guest"]=> string(11) "Real Madryt" } [2]=>
array(10) { [0] => array(3) { ["meet_id"] => 1, ["host"] => "team 1", ["guest"] => "team 2", ["types"] => array(10) { ["0-1","0-0","2-1","0-1","-","2-1","0-1","0-0","-","2-1"] } } [1] .... itd. }
foreach($meets as $meet){ foreach ($usersTypes as $types){ if($meet['meet_id'] == $types['meet_id']) { $result[$types['meet_id']]['types'][] = $types['hostType'].' - '.$types['guestType']; } if($types['meet_id'] == NULL){ $result[$meet['meet_id']]['types'][] = '-'; } } $result[$meet['meet_id']]['meet_id'] = $meet['meet_id']; $result[$meet['meet_id']]['host'] = $meet['host']; $result[$meet['meet_id']]['guest'] = $meet['guest']; }
["meet_id"] => 1, ["host"] => "team 1", ["guest"] => "team 2", ["0-1","0-0","2-1","0-1","-","2-1","0-1","0-0","-","2-1"] } } [1] .... itd. }