我正在尝试复制一个模型实例,其所有关系和子关系如下:
public function clonar($syllabusid){
$micro = Microdiseno::with('resultados.evidencias')->find($syllabusid);
$new_syllabus = $micro->replicate();
$new_syllabus->push();
foreach($micro->getRelations() as $relation => $items){
foreach($items as $item){
unset($item->id);
$new_syllabus->{$relation}()->create($item->toArray());
}
}
return 'syllabus clonado';
}
这是我的第一个模型“ Microdiseno”:
class Microdiseno extends Model
{
protected $fillable = ['user_id', 'materia_id', 'grupo', 'estado'];
public function resultados(){
return $this->hasMany(Resultado::class);
}
}
这是我的第二个模型“ Resultado”:
class Resultado extends Model
{
protected $table = 'resultados';
protected $fillable = ['descriptorresultado', 'microdiseno_id'];
public function microdisenos(){
return $this->belongsTo('App\Microdiseno', 'microdiseno_id');
}
public function evidencias(){
return $this->hasMany(Evidencia::class);
}
}
这是我的第三个模型:
class Evidencia extends Model
{
protected $table = 'evidencias';
protected $fillable = ['descriptorevidencia', 'resultado_id'];
public function resultados(){
return $this->belongsTo('App\Resultado', 'resultado_id');
}
}
我的问题是它仅复制但具有第一个关系“ Resultado”
结果与另一个“ Evidencia”模型有关 并且不会使用“ Resultado”和“ Evidencia”创建“ Microdiseno”的新实例