Laravel attach() 方法不起作用
该应用程序具有以下模型:
Atividade.php
class Atividade extends Eloquent {
public function intervencoes() {
return $this->belongsToMany('Intervencao');
}
}
百足.php
class Intervencao extends Eloquent {
public function atividades() {
return $this->hasMany('Atividade');
}
}
以下代码有效:
Atividade::find($id)->intervencoes()->attach($intervencao_id);
但是,这...
Intervencao::find($id)->atividades()->attach($atividade_id);
返回一个 BadMethodCallException:
调用未定义的方法 Illuminate\Database\Query\Builder::attach()
解决方案(感谢@gnack):
我试图建立一个多对多的关系,所以只需要改变这一点......
return $this->hasMany('Atividade');
对此:
return $this->belongsToMany('Atividade');