'Texts'コントローラーのビュー関数に$id以外の変数を渡そうとしています。
public function view($postid = NULL) {
$this->Text->postid = $postid;
$this->set('text', $this->Text->read());
}
私は何が間違っているのですか?
'Texts'コントローラーのビュー関数に$id以外の変数を渡そうとしています。
public function view($postid = NULL) {
$this->Text->postid = $postid;
$this->set('text', $this->Text->read());
}
私は何が間違っているのですか?
そこで何をしているの?主キーで読み取り専用を使用できます-通常はid
$this->Text->id = $postid;
理解した:
public function view($postid = NULL) {
$post = $this->Text->find('first', array('conditions' =>
array('Text.postid'=>$postid)));
$this->set('text', $post);
}
モデルの$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($name = NULL) {
$record = $this->Text->findByName($name);
$this->set('text', $record);
}
これname
が文字列です。name
フィールドはデータベースに存在する必要があります。$ recordの内容はdebugging.debug($ record)で確認できます。