首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >cakephp中单表上的许多模型

cakephp中单表上的许多模型
EN

Stack Overflow用户
提问于 2012-02-22 04:11:48
回答 1查看 770关注 0票数 3

我目前正试图操纵一个关系太多的数据库。我不会让你觉得很复杂,下面是一个非常简单的例子:

我的桌子(动物):id,类型,标题

  • 1,大象
  • 2,大型长颈鹿
  • 3,小猫
  • 4,小,狗

我想做的是有两个模型“大”和“小”。“大”模型只照顾‘大’型动物(大象和长颈鹿),“小”模型将照顾‘小’型动物(猫和狗)。

做得到吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-02-22 05:13:20

是的,您可以创建名为BigAnimal的模型,然后定义$useTable =‘beforeSave’;然后定义beforeFind和beforeSave,以便每次将类型设置为“大”。然后,您可以对SmallAnimal模型执行同样的操作。下面是一个例子

代码语言:javascript
运行
复制
class BigAnimal extends AppModel {
   var $useTable = 'animals'; 

   function beforeFind($queryData) {
        // set type to big here
   }

   function beforeSave() {
       // set type to big here
   }
}

虽然这是您实现这一目标的方法,但似乎最好将1到1模型保留在表中。然后,您可以添加必要的函数来查询来自同一个模型的大小动物。这样代码就更干净了。所以,就像:

代码语言:javascript
运行
复制
class Animal extends AppModel {

   function findBigAnimals() {
       return $this->find('all', array('conditions' => array('type' => 'big')));
   }

   function findSmallAnimals() {
       return $this->find('all', array('conditions' => array('type' => 'small')));
   }

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

https://stackoverflow.com/questions/9388987

复制
相关文章

相似问题

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