我想检查用户使用HTTP请求传递的ID是否存在于cakephp中的另一个表中。现在,我尝试使用:
public function buildRules(RulesChecker $rules)
{
$rules->add($rules->existsIn('id_venue', 'venues'));
return $rules;
}
但它似乎不起作用。这个规则在一个保留表中,在这个表中我有一个名为id_venue的列,我有另一个名为Venues的表,它有一个名为id_venue的主键。
public function initialize(array $config)
{
parent::initialize($config);
$this->table('reservations');
$this->primaryKey('id_reservation');
$this->hasOne('Venues');
}
我已将我的预订表与我的场地表相关联
感谢您的帮助。
答案 0 :(得分:0)
没有完全理解您需要的电话类型,但如果您只需检查数据库中是否已存在特定行,您可以使用存在
$table = TableRegistry::get('Venues');
$conditions = ['id' => 15];
$exists = $table->exists($conditions); //returns true or false
这类问题已经回答: Check if record exists in CakePHP3
答案 1 :(得分:0)
existsIn
的第一个参数是一个数组,我相信第二个参数区分大小写。尝试
$rules->add($rules->existsIn(['id_venue'], 'Venues'));