在cakephp中的查询中使用LIKE条件

我正在尝试找出数据库中是否已存在类似的记录,然后再继续保存记录.我用谷歌搜索,发现看起来它应该工作,但不幸的是没有.我是cakephp的新手,可以找出正确的查询.

$this->Tape->recursive = -1;
$tapeexists = $this->Tape->find('all',array('condition'=>array('Tape.name LIKE'=>'blondie%')));
$this->set('output',$tapeexists);

如果我在视图中print_r()结果,我可以看到它只是去了并获得该表中的所有结果,其中没有任何名称甚至像’blondie’一样远!
最佳答案
我认为你在查找时只是拼错了条件:

$tapeexists = $this->Tape->find('all',array('conditions'=>array('Tape.name LIKE'=>'blondie%')));

这应该会给你预期的结果.

为了您不允许重复的特定目标,我建议在Tape模型上创建验证规则.有一个特定的内置规则旨在避免重复,所以你可能最好使用它.查看有关数据验证的更多信息here – 查看isUnique核心验证规则.

dawei

【声明】:唐山站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。