我想为一个模型创建一个一对多关系。
我想建立一个分类的层次结构。
我有一个迁移脚本,创建一个外键/列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
不知道这是否有帮助:)