例如,如何在Eloquent entities中对此数据库层次结构建模,以便在创建汽车或卡车时自动创建汽车条目:
- automobile
id (PK)
color, etc...
- car
id (PK, automobile.id FK)
doors, etc...
- truck
id (PK, automobile.id FK)
axis, etc...发布于 2014-11-21 01:48:04
您可以查看此关系http://laravel.com/docs/4.2/eloquent#polymorphic-relations
这些多态关系允许您对此用例进行建模。我不知道在创建时是否为car创建了一个条目,但您可以很容易地自己创建它。希望这能有所帮助。
编辑:
要创建这样的关系,汽车表将获得两个新列,例如automobile_id和automobile_type,这两个列的重要部分是后缀_id和_type。您的模型现在将如下所示。
- automobile
id(PK)
color, etc...
automobile_id
automobile_type
- car
id(PK)
doors, etc...在您的汽车类中,您现在将添加一个函数,该函数需要根据您在表中选择的前缀命名,在本例中为“汽车”:
<?php
class Automobile extends Eloquent {
...
public function automobile() {
return $this->morphTo()
}
}当您创建一个新的实体时,您将汽车的id放入automobile_id = 1中,并为automobile_type提供您的汽车雄辩模型的类名。在这种情况下,我想应该是Car。对于创建工作流,我建议您允许同时填充汽车和汽车的字段,首先将汽车实体输入到数据库中,检索列id,然后将其填充到automobile_id中。
https://stackoverflow.com/questions/25176905
复制相似问题