4
关系,我有一个具有多对多relationsship模型Item
与points
这样的:Laravel,插入一个一对多与雄辩
public function points() {
return $this->has_many('Point');
}
然后在我的控制器,我想,当用户设置一些数据发布了一个Item
。所以,我不喜欢这样写道:
$item = new Item;
$item->author = $author;
$item->description = '';
$item->link = $link;
$item->source = $url['host'];
$item->title = $title;
$item->url_encoded = $url;
$item->save();
$points = array(
array('ip' => $ip)
);
$item->points()->save($points);
但是这给了我,我似乎得到每次一个错误我尝试保存Point
是:
Array to string conversion
我能做些什么来插入我的Point
财产item_id
是否正确?
我不使用3,但如果这是4相同我认为你需要做一个实例吗? '$ item-> points() - > save(new Point($ points));'? – Robbo 2013-03-17 11:27:01
@Robbo是的我首先尝试了一下,我使用的例子http://laravel.com/docs/database/eloquent#inserting-related-models这一点令人惊讶的往往不起作用。如果我创建一个新实例,则获取相同的错误消息。 – Ms01 2013-03-17 11:29:45
还有另一种方法可以使用。做同样的事情,但当谈到这一点时,你可以做'$ point = new Point(['ip'=> $ ip]);'然后'$ point-> save();'指向具有'$ item-> points() - > attach($ point-> id)'的项目。请注意,我从内存中写道,这可能是错误的... – Robbo 2013-03-17 11:32:21