Laravel ORM模型层次结构


Laravel ORM Model Hierarchy?

我想为一个模型创建一个一对多关系。

我想建立一个分类的层次结构。

我有一个迁移脚本,创建一个外键/列category_id。

在数据库中这很容易。创建一个类别"汽车"。创建另一个类别"Audi",父类id链接到"Cars"的id。

但是当我在ORM模型中创建一个函数时,像这样:

public function category() {
    return $this->belongs_to('Category');
}

然后创建一个无限循环。

我做错了什么?也许这是不可能的?

谢谢你的建议!

现在我让它与ORM功能一起工作。这很好,我的视图可以处理它!

public function children() {
    return $this->has_many('Category','category_id');
}
public function parent()
{
    return $this->belongs_to('Category','category_id');
}

最后我写了一个parent()函数,它返回where子句的值

public function parent()
{
    return Category::where('id', '=', $this->category_id)->first();
}

对于一对多,您需要2个表。

表1:类型

表2:车辆

表1中有ID, name (1, car)

表2中有ID、name、type(1、audi、FK到Types.ID)

在SQL中,它看起来像:
SELECT *
FROM Vehicles
WHERE type = 1

不知道这是否有帮助:)