【发布时间】:2015-03-22 10:27:53
【问题描述】:
让我解释一下我试图实现的目标。 假设我有 20 种汽车类型,例如跑车或家用汽车等,还有 5 种汽车,例如保时捷。
当我创建汽车时,我可以选择同时检查属于该汽车的多个汽车类型,然后将其保存。
我已经做了一些功课,看起来使用数据透视表是在 laravel 中解决这个问题的方法。
我的汽车模型中有这个方法:
public function types()
{
return $this->belongsToMany('types', 'car_types');
}
我的类型模型中的这个方法:
public function cars()
{
return $this->belongsToMany('Car');
}
我的表格如下所示:
汽车
- 身份证
- 名称
- created_at
- updated_at
类型
- 身份证
- 名称
- created_at
- updated_at
car_types
- car_id
- type_id
我试图在我的控制器中做的是:
$car = new Car();
Car::create( Input::except('types') );
foreach(Input::get('types') as $type)
{
$car->types()->associate($type);
$car->save();
}
这给了我以下错误:
调用未定义的方法 Illuminate\Database\Query\Builder::associate()
我希望有人能帮我解决这个问题。
提前致谢。
【问题讨论】:
标签: laravel-4 relationship pivot-table