使用Laravel附加/同步多个多态关系时出错

时间:2014-12-01 08:47:11

标签: laravel many-to-many polymorphism

我有一个Game类和一个可以有多种语言的News类。

以下是我的模特:

Game:
id
string

News:
id
string

Languagable
id
languagable_id
languagable_type

Game:
public function languages()
{
    return $this->morphToMany('Language', 'languagable');
}

News:
public function languages() {
    return $this->morphToMany('Language', 'languagable');
}

Language:
public function games()
{
    return $this->morphedByMany('Game', 'languagable');
}

public function news()
{
    return $this->morphedByMany('News', 'languagable');
}

我按照本帖子中的说明进行了插入或附加/同步: How to save entries in many to many polymorphic relationship in Laravel?

当我这样做时:

$game->languages()->attach(1);

此错误显示: 未找到列:1054未知列' language_id'在'字段列表' (SQL:插入languagableslanguagable_idlanguagable_typelanguage_id)值(1,游戏,1))

似乎它正在寻找另一种language_id而不是languagable_id。我已经在这几个小时了,似乎无法解决这个问题。

真的很感激任何帮助。谢谢!

1 个答案:

答案 0 :(得分:0)

只需要添加一个language_id,因为它有多对多关系。