我有以下情况。我有一个模型引用一个名为questions
的数据库表。问题表包含一个称为parent_id
的关键参考,所以问题可以有一个父项。该父母是同一张表中的问题记录。这是因为有些问题实际上是一组最终用户需要一起看的问题。引用自己的CakePHP模型
我曾尝试这种行为在我的数据库模型如下:
public $hasMany = array(
'AttemptedQuestions' => array('classname' => 'AttemptedQuestions'),
'Questions' => array('className'=>'Questions', 'foreignKey'=>'parent_id')
);
编辑:那么奇怪的是,在问题控制器我可以引用我的数据只是罚款如下:
$test_question = $this->Question->find('all', array('conditions' => array('id' => 25)));
这将做我想要的。我返回了一个包含问题及其子代的数据。对于问题$test_question['Children']
,以$test_question['Questions']
的形式访问父问题的parent_id
。我不明白的是,如果我在另一个控制器(如Tests
)中引用此模型,它不会返回儿童的数组。只有问题部分被返回。从模型返回的数据如何依赖于您所在的控制器?这种行为看起来很奇怪,我想知道如何从数据库中获取孩子。感谢您的时间。
@teresko这一定是喜欢你已经编辑我的一个问题是第三次。你在这里编辑了什么? – usumoio 2013-04-30 20:14:01
我删除了“mvc”标签并添加了“cakephp-appmodel”标签。首先,因为CakePHP没有实现MVC,也没有任何其他MVC模式。它实际上只是模仿(有点糟糕)PHP的Rails设置。而你的问题实际上是关于CakePHP框架中的'AppModel'结构,它是[Active Record](http://www.martinfowler.com/eaaCatalog/activeRecord.html)实现。 – 2013-04-30 20:30:54
@IamJohnGalt:你可以通过点击上次编辑的时间(http://i.imgur.com/Hbk1P3I.png) – 2013-04-30 20:33:01