首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Yii2中扩展db模型,2个表2模型

在Yii2中扩展db模型,2个表2模型
EN

Stack Overflow用户
提问于 2016-05-11 14:46:15
回答 1查看 732关注 0票数 0

有扩展子表和模型的基表和模型的最佳方法是什么?例如,您有一个menuItems表和另一个表三明治,一个到一个menuItems.id = sandwiches.sandwichid的表之间有一种关系。因此,三明治是一个menuItem,因此它具有共享的基本字段,但是有它自己的唯一字段项。

我真的很想用一个三明治扩展menuItems,然后访问它的属性,创建一个新的场景等等。所以当我做一个新的三明治并保存它时,就会创建菜单项。

这是最好的,为什么这样做有更好的方法,如果不是,我怎么做呢?

EN

回答 1

Stack Overflow用户

发布于 2016-05-11 16:35:27

在Yii2中,我将以以下方式来处理这个问题:

  1. 创建menuItems表和扩展yii\db\ActiveRecordMenuItems模型。
  2. 创建一个单独的sandwiches表和一个扩展yii\db\ActiveRecord的单独的Sandwiches模型。
  3. 声明两者之间的关系方法(请参阅医生们)。 类MenuItem扩展\yii\db\ActiveRecord {公共函数getSandwich() {返回$this->有一个(三明治名称::className,‘三明治’=> 'id');}类三明治扩展\yii\db\ActiveRecord {公共函数getMenuItem() {返回$this->有一个(MenuItem::className(),'id‘=>’三明治‘);}}
  4. 让你的控制器处理两者之间的任何逻辑。
  5. 可以选择使用ActiveRecordbeforeSaveafterSave方法在保存事件(医生在这里 )期间创建/修改其他记录。

如果您不熟悉Yii2如何处理关系数据,那么我强烈建议您阅读步骤3中链接的文档,这样可以节省大量时间和精力,并且经常会加快代码和查询的速度。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37166108

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档