Клонировать набор данных в Laravel - PullRequest
0 голосов
/ 18 марта 2019

У меня есть таблица тестовых вопросов и таблица тестовых ответов. Каждый тестовый ответ имеет поле question_id, которое связывает его с вопросом. У каждого вопроса есть поле course_id и поле test_type (1 или 2 в зависимости от того, является ли тест до или после).

Я пытаюсь создать функцию в контроллере laravel, которая будет дублировать предварительный или последующий тест в любой другой тип теста. Мой код в настоящее время выглядит так:

public function tcopy (Request $request) {
    $courseId = $request->input('data.courseId');
    $copyToTest = $request->input('data.copyToTest');
    $copyFromTest = $request->input('data.copyFromTest');

    // Delete any answers currently in the new test type
    $toTestQuestionsOld = Question::where('course_id', $courseId)
        ->where('test_type', $copyToTest)
        ->delete();

    $fromTestQuestions = Question::where('course_id', $courseId)
        ->where('test_type', $copyFromTest)
        ->get();

Я просто не уверен, что поставить после этого, чтобы клонировать коллекцию (которая будет состоять как из вопросов, так и связанных с ними ответов). Я посмотрел в $ newCollection = clone $ oldCollection, но, похоже, поля идентификаторов остаются такими же, что просто заменит fromTestQuestions, верно?

Спасибо за любую помощь!

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