2013-03-07 13 views
5

レコードを保存する前に、類似のレコードがすでにDBに存在するかどうかを調べようとしています。私はグーグルで見つけたが、それはうまくいくはずだが、残念ながらそうは見えない。私はcakephpが新しく、正しいクエリを見つけ出すことができます。私は、ビュー内の()の結果をしますprint_r場合cakephpのクエリでLIKE条件を使用する

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

私はそれだけで行くとでも遠隔操作「ブロンディ」のような名前の何かを持って、いずれもそのテーブルのすべての結果を得ることを見ることができます!

答えて

11

私はあなたの検索を行うときに、あなたは、単にconditionsをスペルミスと思う:

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

あなたに期待される結果が得られなければならないこと。

重複を許可しないという特定の目標については、Tapeモデルで検証規則を作成することをおすすめします。重複を避けるように設計された特定のビルトインルールがあるので、おそらくそれを使用する方が良いでしょう。データ検証に関する詳細情報を確認してくださいhere - isUniqueコア検証ルールをご覧ください。

+0

おはようございます。芯を感じる。それは本当に私を迷惑にしていた、私はより慎重になることを学ばなければならないでしょう。検証ルールについての提案もありがとうございます。良いアイデア! –

+0

心配する必要はありません、私たちは一度も初心者でした:)私はいくつかの評判を得られるように答えをマークしてください。ありがとうございました! –

関連する問題