0
<?php
   class User extends AppModel {
var $name = 'User';
var $displayField = 'fname';

}

このモデルから「立っている」が「1」のユーザーのみを返すにはどうすればよいですか?私はこれをコントローラーからではなく、モデルから行うことを考えています。

【解決策】モデル内

function beforeFind($queryData){
    $queryData['conditions']['standing'] = 1;
    return $queryData;
}
4

1 に答える 1

2

beforeFindこれを行う最も簡単な方法は、コールバックにいくつかのフィルタリング条件を設定することです。変数を変更し、キー$queryDataに制限を追加すると、それが実行されます。conditions

手動入力から-http://book.cakephp.org/1.3/en/view/1049/beforeFind

検索関連の操作の前に呼び出されます。このコールバックに渡される$queryDataには、現在のクエリに関する情報(条件、フィールドなど)が含まれています。

検索操作を開始したくない場合(おそらく$ queryDataオプションに関連する決定に基づいて)、falseを返します。それ以外の場合は、変更された可能性のある$ queryData、または検索に渡したいものとその対応物を返します。

このコールバックを使用して、ユーザーの役割に基づいて検索操作を制限したり、現在の負荷に基づいてキャッシュを決定したりできます。

于 2012-07-06T11:44:00.490 に答える