undefined method Illuminate\Database\Query\Builder::encuesta()
刚刚插入Integrante, 图像正常工作没有错误
这是我在integrante model
public function integrantes()
{
return $this->belongsTo(Encuesta::class);
}
这是image model
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 :(得分:1)
更改您的Integrante模型,
自:
public function integrantes()
{
return $this->belongsTo(Encuesta::class);
}
要:
public function encuesta()
{
return $this->belongsTo(Encuesta::class);
}
在下面的行中,您尝试从Integrante模型调用encuesta()方法,但在模型中使用了错误的函数名称(integrantes())。所以,这就是为什么你得到未定义的方法错误。
$integrantes->encuesta()->associate($encuestas);