Laravel |Выберите вопросы викторины в случайном порядке и получите ответы на каждый вопрос - PullRequest
0 голосов
/ 28 ноября 2018

Я отображаю все вопросы, используя foreach, а также один для ответов.

У них обоих общий вопрос_ *. 1003 *

Но как мне заставить мое приложение узнать, где находятся ответы, используя два цикла foreach?

Ответы [ 2 ]

0 голосов
/ 28 ноября 2018

если вы отображаете вопросы в случайном порядке, то создайте массив $ random, в котором будет храниться вопрос_ид после отображения вопроса.Теперь, чтобы отобразить ответ, выполните итерацию этого массива $ random и отобразите ответ, у которого question_id равен $ random [$ i]

foreach ($random as $ques_id)
    display the answer whose question_id is $ques_id
0 голосов
/ 28 ноября 2018

Можете ли вы дать нам более подробную информацию, пожалуйста?Из немногих предоставленных вами сведений я могу только догадываться ...

# 1: создать Answer модель

# 2: добавить в свой Question смоделируйте отношения с моделью Answer:

public function answers()
{
    return $this->hasMany(Answer::class);
}

# 3: получение всех вопросов с ответами в произвольном порядке:

$questions = Questions::get();

foreach ($questions as $question) {
    // getting the answer of a specific question ordered by RAND
    $answers = $question->answers()->orderByRaw("RAND()")->get();

    foreach ($answers as $answer) {
        // here your answer
    }
}

Больше информации об отношениях Laravel: https://laravel.com/docs/5.7/eloquent-relationships

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...