У меня есть два запроса на мой проект Laravel:
$questions = \App\Answer::rightJoin('questions','answers.id_question','=','questions.id_question')
->leftJoin('users','answers.id_user','=','users.id')->where([
['questions.id_question', '=', $id_question],
['questions.flg_active', '=', true],
])->orderBy('questions.created_at', 'desc')->paginate(5);
и
$questions = \App\Answer::with('question.user')
->orderBy('created_at', 'desc')->paginate(15);
По сути, первый ответ на вопросы, которые еще не получены, а второй - только вопросы, на которые уже дан ответ.Я пытаюсь использовать один и тот же блэйд-вид для обоих, но они имеют разную структуру вывода JSON.
Первый возвращает одноуровневый JSON, а второй возвращает 3 уровня данных.
"data": [{
"id_answer": 42,
"created_at": "2018-11-28 17:52:18",
"updated_at": "2019-05-24 15:09:14",
"id_user": 2,
"id_question": 42,
"str_answer": "onono onooono nonono onn ",
"str_question": "ononon ononon onononn ?",
"url_link": null,
"flg_active": 1,
"id": 1,
"name": "Paul",
"surname": null,
"email": "p@yahoo.com",
"certification": "CFA ...",
"about": "CS, ....."
}
и:
"data": [{
"id_answer": 64,
"created_at": "2019-05-16 15:46:54",
"updated_at": "2019-05-16 15:46:54",
"id_user": 2,
"id_question": 98,
"str_answer": "onono non ooonononn",
"question": {
"id_question": 98,
"created_at": "2019-05-16 15:06:31",
"updated_at": "2019-05-16 15:24:43",
"id_user": 2,
"str_question": "onono onnon ononon?",
"url_link": null,
"flg_active": 1,
"user": {
"id": 2,
"name": "Paul",
"surname": null,
"email": "p@outlook.com",
"created_at": "2018-12-06 05:50:09",
"updated_at": "2019-05-24 11:23:32",
"certification": null,
"about": null
}
}
}
Как сделать так, чтобы первый вернулся на тех же трех уровнях, что и второй запрос?
Почему это происходит?