我在食谱上搜索了这个答案,我很难过。我觉得它应该是一个非常简单的解决方案。
我正在关注食谱中的博客部分,只是我在表格中添加了两行。 “作者”行和“类别”行。但是,当我尝试调用数据时,没有任何内容返回到视图。
以下是型号代码:
<?php
class Post extends AppModel {
public $validate = array(
'title' => array(
'rule' => 'notEmpty'
),
'body' => array(
'rule' => 'notEmpty'
),
'author' => array(
'rule' => 'notEmpty'
),
'category' => array(
'rule' => 'notEmpty'
)
);
}
这是我的控制器代码:
public function index() {
$this->set('posts', $this->Post->find('all'));
$this->set('title_for_layout','jotliet.com development blog');
}
这是视图代码:
<?php foreach ($posts as $post): ?>
<tr>
<td><?php echo $post['Post']['id']; ?></td>
<td>
<?php echo $this->Html->link($post['Post']['title'], array('action' => 'view', $post['Post']['id'])); ?>
</td>
<td>
<?php echo $post['Post']['author']; ?>
</td>
<td>
<?php echo $post['Post']['category']; ?>
</td>
<td>
<?php echo $this->Form->postLink(
'Delete',
array('action' => 'delete', $post['Post']['id']),
array('confirm' => 'Are you sure?'));
?>
<?php echo $this->Html->link('Edit', array('action' => 'edit', $post['Post']['id'])); ?>
</td>
<td>
<?php echo $post['Post']['created']; ?>
</td>
<td>
<?php echo $post['Post']['body']; ?>
</td>
</tr>
<?php endforeach; ?>
“已创建”,“标题”和“正文”行返回正常。但“作者”和“类别”没有任何回报。
我已经以多种不同的方式测试了模型,控制器和视图代码。在假设我的表本身有问题的情况下,我甚至在phpMyadmin中弄乱了数据库本身。没有结果。
我觉得这必须有一个简单的解决方案。谢谢你们。
更新
我运行了一个print_r($ posts)并返回了这个:
Array
(
[0] => Array
(
[Post] => Array
(
[id] => 1
[title] => blah
[body] => blah
[created] => blah
[modified] => blah
)
)
找不到“作者”或“类别”。我怎么能改变这个?