我正在尝试为我的“文本”控制器中的视图函数传递 $id 以外的变量:
public function view($postid = NULL) {
$this->Text->postid = $postid;
$this->set('text', $this->Text->read());
}
我究竟做错了什么?
我正在尝试为我的“文本”控制器中的视图函数传递 $id 以外的变量:
public function view($postid = NULL) {
$this->Text->postid = $postid;
$this->set('text', $this->Text->read());
}
我究竟做错了什么?
你在那里做什么?您可以将只读与主键一起使用 - 通常是 id
$this->Text->id = $postid;
您的模型的$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>
这可能会让你更好地了解正在发生的事情。
最后,这里有一些相关文档:
弄清楚了:
public function view($postid = NULL) {
$post = $this->Text->find('first', array('conditions' =>
array('Text.postid'=>$postid)));
$this->set('text', $post);
}
您可以将视图功能自定义为:
public function view($name = NULL) {
$record = $this->Text->findByName($name);
$this->set('text', $record);
}
这name
是一个字符串。该name
字段应存在于数据库中。通过debugging.debug($record)可以看到$record的内容。