0

我已经在食谱中搜索了这个问题的答案,我很困惑。我觉得这应该是一个非常简单的解决方案。

我正在关注食谱中的博客部分,只是我在表格中添加了两行。“作者”行和“类别”行。但是,当我尝试调用数据时,视图不会返回任何内容。

这是模型代码:

<?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
                )
        )

找不到“作者”或“类别”。我怎样才能改变这个?

4

0 回答 0