2017-07-07 31 views
2

家伙,我有这样的错误Ÿ努力,没有运气固定(这是错误 电话undefined method Illuminate\Database\Query\Builder::encuesta()错误试图从相关模型存储新对象的形式提交Laravel

只是没有按规定Integrante, 插入图片正常工作没有错误

这是我在integrante model

public function integrantes() 
{ 
    return $this->belongsTo(Encuesta::class); 
} 

关系,这是对image model

0图像关系
public function encuesta() 
    { 
     return $this->belongsTo(Encuesta::class); 
    } 

这是我在encuestas model

public function integrantes() 
{ 
    return $this->hasMany(Integrante::class, 'encuesta_id'); 
} 

关系,我的控制器

public function store(EncuestaRequest $request){ 

    // Image Upload 
    $file = $request->file('image'); 
    $file_count = count($file); 
    $fileupload = 0; 
    $name = 'imagen_' . time() . '.' . $file->getClientOriginalExtension(); 
    $path = public_path() . '/uploads'; 
    $file->move($path, $name); 

    $encuestas = new Encuesta($request->all()); 
    $encuestas->save(); 
    // Saving Integrante 
    $integrantes = new Integrante(); 
    $integrantes->nombres = $request->nombres; 
    $integrantes->curp = $request->curp; 
    $integrantes->parentesco = $request->parentesco; 
    $integrantes->fecha_nacimiento = $request->fecha_nacimiento; 
    $integrantes->genero = $request->genero; 
    $integrantes->estado_nacimiento = $request->estado_nacimiento; 
    $integrantes->encuesta()->associate($encuestas); 
    $integrantes->save(); 

    // Saving Image 
    $image = new Image(); 
    $image->name = $name; 
    $image->encuesta()->associate($encuestas); 
    $image->save(); 


    return redirect('encuesta'); 
} 
+0

你的Image模型看起来是什么? –

+0

嗨,泰勒,我更新以上:) –

回答

1

更改您的Integrante模型像这样在这本我的功能作用,

来源:

public function integrantes() 
{ 
    return $this->belongsTo(Encuesta::class); 
} 

要:

public function encuesta() 
{ 
    return $this->belongsTo(Encuesta::class); 
} 

在下面的线,你想叫encuesta()从Integrante模型的方法,但你在模型中使用了错误的函数名(integrantes())。所以,这就是为什么你得到未定义的方法错误。

$integrantes->encuesta()->associate($encuestas); 
+0

非常感谢Rubanraj Ravichandran,现在工作正常 –

相关问题