Laravel 5中的动态表格和模型

我有下表:

pages
    id
    title
    ...

dynamic_table_1_infos
    id
    page_id
    image_id
    dynamic_field_1
    dynamic_field_2
    ...

dynamic_table_2_infos
...

所以存在“一对多”的关系 .

有没有办法使用一般方法而不为每个表“动态”创建DynamicTable [No] Info模型?

如果我在这些模型中需要一些额外的方法怎么办?

“Page”模型与“dynamic_table_ [no] _infos”表有很多关系 . 所以我可能需要一个通用的方法来做到这一点 . (有很多dynamic_table_1_infos /有很多dynamic_table_2_infos ...)

我想要做的是以Dupal的内容类型为灵感 .

回答(1)

3 years ago

如果要根据某个模型属性的值将单个模型数据保存到多个表,则需要'll need to override model' s getTable() 方法返回应写入的表的名称 .

我不确定你想如何决定Eloquent应该保存到哪个表 - 例如,如果你的模式中有一个名为 segment 的属性,你可以这样做:

public function getTable() {
  return 'dynamic_table_' . $this->segment . '_infos';
}