我想为一个模型创建一对多关系。
我想构建一个类别层次结构。
为此,我有一个迁移脚本,用于创建外键/列category_id。
在数据库中这很容易。创建一个类别“汽车”。创建另一个类别“奥迪”,其父ID与“汽车”的ID相关联。
但是当我在ORM模型中创建一个如下函数时:
public function category() {
return $this->belongs_to('Category');
}
然后我创建了一个无限循环。
我做错了什么?也许这是不可能的?
感谢您的建议!
答案 0 :(得分:3)
现在我使用了ORM功能。这很好用,我的观点可以处理它!
public function children() {
return $this->has_many('Category','category_id');
}
public function parent()
{
return $this->belongs_to('Category','category_id');
}
答案 1 :(得分:1)
好的,我最后编写了一个parent()函数,它返回where子句的值:
public function parent()
{
return Category::where('id', '=', $this->category_id)->first();
}
答案 2 :(得分:-1)
对于一对多,你需要2张桌子。
表1:类型
表2:车辆
在表1中,您有ID,姓名(1,汽车)
在表2中,您有ID,名称,类型(1,奥迪,FK到Types.ID)
在SQL中,这看起来像是:
SELECT *
FROM Vehicles
WHERE type = 1
不知道这是否有帮助:)