Следующая проблема заключается в том, что мне нужно скопировать несколько таблиц. Сейчас я не очень знаком с Laravel, но я уже что-то пробовал. Так что моя функция сейчас скопировала только 1 таблицу. Это должно называться больше:
- lime_groups
- lime_permissions
- Lime_questions и т.д ....
Так может ли кто-нибудь помочь мне с этим?
public function copySurvey( Manager $fractal, SurveyTransformer $surveyTransformer ) {
$copy = Survey::first();
// copy all atributes
$newsurvey = $copy->replicate();
// save
$newsurvey->save();
}
Итак, я ожидаю, что он скопирует выбранный. Но он только копирует эти данные. Он не копирует другие связанные таблицы
Модель в отношениях:
public function accuracy() {
return $this->hasOne( 'App\Models\LimeSurvey\Accuracy', 'survey_id', 'sid' );
}
public function groups() {
return $this->hasMany( 'App\Models\LimeSurvey\Group', 'sid', 'sid' )->orderBy('gid', 'asc')->orderBy('group_order', 'asc');
}
public function questions() {
return $this->hasMany( 'App\Models\LimeSurvey\Question', 'sid', 'sid' )->orderBy('gid', 'asc')->orderBy('question_order', 'asc');
}
public function parentQuestions() {
return $this->hasMany( 'App\Models\LimeSurvey\Question', 'sid', 'sid' )->where('parent_qid', '=', 0)->orderBy('gid', 'asc')->orderBy('question_order', 'asc');
}
public function languages() {
return $this->hasMany( 'App\Models\LimeSurvey\Language', 'surveyls_survey_id', 'sid' );