1

各ビジネスが独自のデータを持つオンライン アカウント アプリケーションを構築しているため、各テーブルにはフィールド business_id があります。

各モデルに条件を自動的に追加する方法はありますか

Model.business_id => x 

たとえば、ユーザーがプロジェクトを含むすべてのトランザクションを検索した場合、追加される条件は次のようになります。

Transaction.business_id => x
Project.business_id => x

これは、2 つのモデルを除くすべてのモデルに適用されるため、動作に配置するのが最適であると推測しています。

ありがとう

4

1 に答える 1

1

beforeFind() でクエリ データを変更できます。これはビヘイビア内でも可能です。

あなたのモデルで:

$actsAs = array('BusinessCondition');

動作は次のようになります。

<?php
App::uses('AuthComponent', 'Controller/Component');

class BusinessCondition extends ModelBehavior {

    public function beforeFind(Model $Model, $query) {
        $query['conditions'][$Model->alias . '.business_id'] = AuthComponent::user('business_id');
        return $query;
    }
}
于 2012-07-28T20:16:12.597 に答える