@Ivperivm

Array_merge возвращает только первый массив, что не так?

$this->db->row возвращает ассоциативный массив.
public function postData($id) {
$params_student = ['id' => $id];
$result_student = $this->db->row('SELECT * FROM students WHERE id = :id', $params_student);
$params_parents = ['student_id' => $id];
$result_parents = $this->db->row('SELECT * FROM parents WHERE student_id = :student_id', $params_parents);
$data = array_merge($result_student, $result_parents);
return $data;
}

Если в array_merge поменять массивы местами, вернется только первый в списке.
$data = array_merge($result_student, $result_parents); вернет массив $result_student
$data = array_merge($result_parents, $result_student); вернет массив $result_parents
Что я делаю не так?
  • Вопрос задан
  • 115 просмотров
Решения вопроса 1
Не могу пока ответить на ваш вопрос, но есть ли смысл в таком возврате? Зачем сливать в один массив объекты разных типов? (раз они в разных таблицах - у них разные типы). Может стоит вернуть хотя-бы так?

return ['student' => $result_student, 'parents' => $result_parents];
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы