0

我正在尝试为我的“文本”控制器中的视图函数传递 $id 以外的变量:

public function view($postid = NULL) {
        $this->Text->postid = $postid;
        $this->set('text', $this->Text->read());
    }

我究竟做错了什么?

4

4 回答 4

1

你在那里做什么?您可以将只读与主键一起使用 - 通常是 id

$this->Text->id = $postid;
于 2012-04-14T23:14:17.387 回答
0

您的模型的$primaryKey属性是否设置为?如果没有,那么就不会像你想要的那样工作。在中,将其添加到您的课程中:Text'postid'$this->Text->read()app/Model/Text.php

public $primaryKey = 'postid';

如果您不想更改主键(但您可能应该更改它),也可以执行以下操作:

$text = $this->Text->find('first', array(
    'conditions' => array('postid' => $postid),
));
$this->set('text', $text);

另外,尝试在视图中添加类似这样的内容,以查看变量中的实际内容:

<pre><?php var_dump($text); ?></pre>

这可能会让你更好地了解正在发生的事情。

最后,这里有一些相关文档:

于 2012-04-14T23:53:16.200 回答
0

弄清楚了:

public function view($postid = NULL) { 
$post = $this->Text->find('first', array('conditions' => 
                                          array('Text.postid'=>$postid))); 
$this->set('text', $post); 
}
于 2012-04-15T23:57:48.677 回答
0

您可以将视图功能自定义为:

public function view($name = NULL) {
    $record = $this->Text->findByName($name);        
    $this->set('text', $record);
}

name是一个字符串。该name字段应存在于数据库中。通过debugging.debug($record)可以看到$record的内容。

于 2012-04-15T05:16:39.527 回答