我在CakePHP中烘焙了一个项目,该项目运行良好。然后我将其移动到名为“MobileFort”的插件中。除了模型关系之外,我能够从测试应用程序中获得所有功能。我添加了“MobileFort”。在所有的班级名称之前,但仍然没有快乐。
示例索引(来自“用户”控制器......只是默认烘焙):
public function index() {
$this->User->recursive = 0;
$this->set('users', $this->Paginator->paginate());
}
相关模型关系:
public $belongsTo = array(
'SystemNotice' => array(
'className' => 'MobileFort.SystemNotice',
'foreignKey' => 'system_notice_id',
'conditions' => '',
'fields' => '',
'order' => ''
),
'TicketMessage' => array(
'className' => 'MobileFort.TicketMessage',
'foreignKey' => 'ticket_message_id',
'conditions' => '',
'fields' => '',
'order' => ''
)
);
public $hasMany = array(
'SystemNotice' => array(
'className' => 'MobileFort.SystemNotice',
'foreignKey' => 'user_id',
'dependent' => false,
'conditions' => '',
'fields' => '',
'order' => '',
'limit' => '',
'offset' => '',
'exclusive' => '',
'finderQuery' => '',
'counterQuery' => ''
),
'TicketMessageSent' => array(
'className' => 'MobileFort.TicketMessage',
'foreignKey' => 'to_user_id',
'dependent' => false,
'conditions' => '',
'fields' => '',
'order' => '',
'limit' => '',
'offset' => '',
'exclusive' => '',
'finderQuery' => '',
'counterQuery' => ''
),
'TicketMessageReceived' => array(
'className' => 'MobileFort.TicketMessage',
'foreignKey' => 'from_user_id',
'dependent' => false,
'conditions' => '',
'fields' => '',
'order' => '',
'limit' => '',
'offset' => '',
'exclusive' => '',
'finderQuery' => '',
'counterQuery' => ''
),
);
Aand视图的相关部分:
<?php foreach ($users as $user): ?>
<tr>
<td><?php echo h($user['User']['id']); ?> </td>
<td><?php echo h($user['User']['username']); ?> </td>
<td>
<?php echo $this->Html->link($user['SystemNotice']['title'], array('controller' => 'system_notices', 'action' => 'view', $user['SystemNotice']['id'])); ?>
</td>
<td>
<?php echo $this->Html->link($user['TicketMessage']['subject'], array('controller' => 'ticket_messages', 'action' => 'view', $user['TicketMessage']['id'])); ?>
</td>
</tr>
我到底在这里错过了什么?
答案 0 :(得分:0)
事实证明,经过大量的烦躁之后,问题是我的控制器使用了一个不符合惯例的名称。我正在使用预期的uses
属性:
public $uses = array('User');
需要将MobileFort.
添加到User
的前面。
我没有意识到这是因为,由于某种原因,它正在工作(页面会加载,我可以获取所有其他用户数据等...它只是不会加载相关的模型)。
我认为情况非常独特,可能很少出现。