我使用过Laravel 4,这是我第一次遇到这个问题。
我的寻呼机表:
class pager extends Eloquent
{
protected $table = 'pagers';
public function user()
{
return $this->belongsTo('User', 'bid');
}
public function pager_items()
{
return $this->hasMany('pager_item', 'pid');
}
}
正如您所看到的,寻呼机有许多寻呼机项目,下面是属于寻呼机的寻呼机项目模型。
class pager_item extends Eloquent
{
protected $table = 'pager_items';
public function pager()
{
return $this->belongsTo('pager', 'pid');
}
}
如果我尝试插入新模型:
$test = new pager_item;
$test->description = 'test';
$test->bid =1;
$test->cid =1;
$test->pid =1;
$test->save();
我收到:
LogicException
Relationship method must return an object of type Illuminate\Database\Eloquent\Relations\Relation
我无法发现会导致此类错误的任何问题,感谢任何帮助,谢谢。
答案 0 :(得分:1)
在“属于”关系中,您应该尝试将对象传递给save而不是id。
$pager = pager::find(10);
$test->pager()->associate($pager);
顺便说一句,尝试将类命名为大写...如
class Pager extends Eloquent
...