我已经在食谱中搜索了这个问题的答案,我很困惑。我觉得这应该是一个非常简单的解决方案。
我正在关注食谱中的博客部分,只是我在表格中添加了两行。“作者”行和“类别”行。但是,当我尝试调用数据时,视图不会返回任何内容。
这是模型代码:
<?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; ?>
“created”、“title”和“body”行返回就好了。但是“作者”和“类别”什么也没返回。
我已经以多种不同的方式测试了模型、控制器和视图代码。我什至在 phpMyadmin 中弄乱了数据库本身,假设我的表本身有问题。没有结果。
我觉得这必须有一个简单的解决方案。多谢你们。
更新:
我运行了一个 print_r($posts) 并返回了这个:
Array
(
[0] => Array
(
[Post] => Array
(
[id] => 1
[title] => blah
[body] => blah
[created] => blah
[modified] => blah
)
)
找不到“作者”或“类别”。我怎样才能改变这个?