特定のオブジェクトの関連項目を検証するための検証ルールを設定する必要があります。ユーザーは関連する製品を3つ以上持つことはできません。codeigniter datamapper関係の検証問題
私はDataMapperが_related_max_sizeルールを使ってこの検証をチェックできると信じていますが、モデルの$ validation配列でどのように使用するのか分かりません。
は、これまでのところ、私は私のユーザーと製品モデルの両方でこれを試してみた:
var $validation = array(
'product' => array(
'rules' => array('max_size' => 3)
)
);
誰かが私にモデル、コントローラ、最後にビューでこれを設定する方法の例を示していることはできますか?
編集:ユーザーには多くの製品があり、ある程度の量を作り出すことができます。その3つの製品には、その量に達したときにユーザーが製品を作成できなくなり、ユーザーがより多くの製品を作成できるようにすることはできません。
これは、DBスキーマのようになります。ここ
Users table
------------------
id | username |
------------------
Products table
------------------------
id | user_id | name |
------------------------
さらに詳しい情報:http://codeigniter.com/forums/viewthread/178045/P500/
ありがとう!
EDIT:
[OK]を、私はそれをすべてが、私は次の操作を実行する必要がある場合を除き...今働いて得た:
var $validation = array(
'product' => array(
'label' => 'productos',
'rules' => array('required','max_size' => $products_limit)
)
);
$のproducts_limitは、ユーザが関連付けられている「計画」から来ています、それはときにユーザーがログインするセッションに保存されている、私はこれを実行しようとすると私が取得:。
Parse error: syntax error, unexpected T_VARIABLE in /var/www/stocker/application/models/user.php on line 11
このセットを作成する方法はありますダイナミックなティン?
もう少し説明してください。正確に何をしたいですか?ユーザーが選択するものの例と、検証しようとしているもの – Shabib