0

これは基本的なことのように聞こえるかもしれません (そしておそらくそうです) が、私はこれを数時間取得しようとしており、コーディングから休憩する必要があるか、単に動揺しません。

モデルからデータベース エントリを取得するアクティブなレコード変数があります。

$variable = Model::model()->findAll();

したがって、ビュー ファイルで $variable を使用できるので、結果内に特定のエントリが存在するかどうかを確認したいと考えています。で利用可能なエントリの主キーを使用していますが、$variable機能していないようです。

特定のエントリがコントローラーではなくビューファイルからその変数に含まれているかどうかを確認する正しい方法は何ですか?

PS: 結果セットを反復処理したくありません。アプリケーションにとってはあまり効率的ではありません。

ありがとう。

4

2 に答える 2

0

このコードを試してください:

$data = Post::model()->findAllBySql("select * from tbl_post where id=".$data->id);

また

$post=Post::model()->find(array(
    'condition'=>'postID=:postID',
    'params'=>array(':postID'=>$data->id)
));
于 2012-09-14T07:30:10.417 に答える
0

私があなたを正しければ:

  • 実際、そのようなコードをビュー ファイルに含めない方がよいでしょう。
  • CActiveRecord.fin*() メソッドを使用せざるを得ない場合は、findByPk($pk) の使用を検討してください。null を返す場合 - そのようなレコードはありません。
  • そのクラスには、実行する必要があるチェックで自然に見える「checkExists($pk)」メソッドがあるため、モデルがPcBaseArModelを拡張することを検討してください。この基本クラスには他にも優れた機能があります。ドキュメントを確認してください。
于 2012-09-14T05:31:28.540 に答える