Как извлечь значение подстановочного знака для проверки Laravel? - PullRequest
0 голосов
/ 28 мая 2020

Вопрос в соответствии с заголовком, краткая справочная информация выглядит следующим образом:

Сборник ответов на опрос, в соответствии с которым:

  • Опрос содержит несколько вопросов и может получить несколько ответов
  • Каждый ответ представляет собой набор ответов на вопросы.

Базы данных (Отрывок из соответствующих частей, также есть другие таблицы и столбцы)

  • Таблица вопросов: id, question, type
  • Таблица Response_Details: id, question_id (ссылка на выше), data (фактический ответ)

При получении массива ответов подробности, я сначала проверяю question_id, чтобы убедиться, что я получаю ответ на существующий вопрос. Затем я использую sh для проверки содержимого поля данных в зависимости от типа вопроса этого вопроса. Короче говоря, как мне извлечь / обратиться к значению question_id, чтобы я мог выполнить поиск в базе данных и получить его тип, чтобы я мог определить правильную проверку для использования?

            'responseDetails.*.response_data' => [
            Rule::requiredIf(function() use ($request) {
                // How do I refer to the value of * here? 
                    $questionType = Question::where('id', $question_id)->first()['type'];
                    return $questionType == 'open' || $questionType == 'rank';
                }
            }),
        ],
...