Merge branch 'release-2.140.115'
[feisty_meow.git] / production / example_apps / zippy_maps / src / Model / Table / CategoriesLocationsTable.php
diff --git a/production/example_apps/zippy_maps/src/Model/Table/CategoriesLocationsTable.php b/production/example_apps/zippy_maps/src/Model/Table/CategoriesLocationsTable.php
new file mode 100644 (file)
index 0000000..f47763c
--- /dev/null
@@ -0,0 +1,83 @@
+<?php
+namespace App\Model\Table;
+
+use Cake\ORM\Query;
+use Cake\ORM\RulesChecker;
+use Cake\ORM\Table;
+use Cake\Validation\Validator;
+
+/**
+ * CategoriesLocations Model
+ *
+ * @property \Cake\ORM\Association\BelongsTo $Locations
+ * @property \Cake\ORM\Association\BelongsTo $Categories
+ *
+ * @method \App\Model\Entity\CategoriesLocation get($primaryKey, $options = [])
+ * @method \App\Model\Entity\CategoriesLocation newEntity($data = null, array $options = [])
+ * @method \App\Model\Entity\CategoriesLocation[] newEntities(array $data, array $options = [])
+ * @method \App\Model\Entity\CategoriesLocation|bool save(\Cake\Datasource\EntityInterface $entity, $options = [])
+ * @method \App\Model\Entity\CategoriesLocation patchEntity(\Cake\Datasource\EntityInterface $entity, array $data, array $options = [])
+ * @method \App\Model\Entity\CategoriesLocation[] patchEntities($entities, array $data, array $options = [])
+ * @method \App\Model\Entity\CategoriesLocation findOrCreate($search, callable $callback = null, $options = [])
+ *
+ * @mixin \Cake\ORM\Behavior\TimestampBehavior
+ */
+class CategoriesLocationsTable extends Table
+{
+
+    /**
+     * Initialize method
+     *
+     * @param array $config The configuration for the Table.
+     * @return void
+     */
+    public function initialize(array $config)
+    {
+        parent::initialize($config);
+
+        $this->setTable('categories_locations');
+        $this->setDisplayField('id');
+        $this->setPrimaryKey('id');
+
+        $this->addBehavior('Timestamp');
+
+        $this->belongsTo('Locations', [
+            'foreignKey' => 'location_id',
+            'joinType' => 'INNER'
+        ]);
+        $this->belongsTo('Categories', [
+            'foreignKey' => 'category_id',
+            'joinType' => 'INNER'
+        ]);
+    }
+
+    /**
+     * Default validation rules.
+     *
+     * @param \Cake\Validation\Validator $validator Validator instance.
+     * @return \Cake\Validation\Validator
+     */
+    public function validationDefault(Validator $validator)
+    {
+        $validator
+            ->integer('id')
+            ->allowEmpty('id', 'create');
+
+        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(['location_id'], 'Locations'));
+        $rules->add($rules->existsIn(['category_id'], 'Categories'));
+
+        return $rules;
+    }
+}