table('shop_order_items'); $this->displayField('id'); $this->primaryKey('id'); $this->addBehavior('Timestamp'); $this->belongsTo('Orders', [ 'foreignKey' => 'order_id', 'joinType' => 'INNER', 'className' => 'Shop.Orders' ]); $this->belongsTo('Products', [ 'foreignKey' => 'product_id', 'joinType' => 'INNER', 'className' => 'Shop.Products' ]); } /** * Default validation rules. * * @param \Cake\Validation\Validator $validator Validator instance. * * @return \Cake\Validation\Validator */ public function validationDefault(Validator $validator) { $validator ->add('id', 'valid', ['rule' => 'integer']) ->allowEmpty('id', 'create'); $validator ->add('quantity', 'valid', ['rule' => 'integer']) ->requirePresence('quantity', 'create') ->notEmpty('quantity'); $validator ->add('price', 'valid', ['rule' => 'numeric']) ->requirePresence('price', 'create') ->notEmpty('price'); return $validator; } /** * Returns a rules checker object that will be used for validating * application integrity. * * @param \Cake\ORM\RulesChecker $rules The rules object to be modified. * * @return \Cake\ORM\RulesChecker */ public function buildRules(RulesChecker $rules) { $rules->add($rules->existsIn(['order_id'], 'Orders')); $rules->add($rules->existsIn(['product_id'], 'Products')); return $rules; } }