2015-07-01 12 views
5

Esiste un modo per verificare se esiste un record nel php della torta. So che c'è una funzione .CakePHP 2cake php verifica se il record esiste con la colonna personalizzata

$this->Notes->id = $id; 
if (!$this->Notes->exists()) 
{ 
    throw new NotFoundException(__('Invalid Notes')); 
} 

ma di default controllare con la colonna id Come posso verificare con una colonna personalizzata supponiamo che è note_id. i miei attemts sono refer from here

tentativo # 1

if (!$this->Noteshistory->exists(['note_id'=>$id])) 
{ 
    throw new NotFoundException(__("Invalid Note ")); 
} 

cercato anche per impostare note_id

$this->Noteshistory->note_id = $id; 
if (!$this->Noteshistory->exists(['note_id'=>$id])) 
    { 
     throw new NotFoundException(__("Invalid Note ")); 
    } 

ma senza fortuna.

+0

Sarebbe una buona idea di guardare [la firma del metodo per i metodi che si sta chiamando] (https: // GitHub .com/cakephp/cakephp/blob/2.6.8/lib/Cake/Model/Model.php # L2889) - dovrebbe essere ovvio che passare '['note_id' => $ id]' non funzionerà (infatti, quello proverebbe a trovare un record della storia delle note con l'id '$ id'). – AD7six

risposta

12

hasAny è la soluzione -

$this->Noteshistory->hasAny(['note_id'=>$id]) 

tornerà true se trovato altro false

hasAny non è disponibile nella versione 3.x

+1

Direi hasAny è una soluzione _a - un conteggio funziona altrettanto bene, che dopotutto è [tutto ciò che fa il metodo] (https://github.com/cakephp/cakephp/blob/2.6.8/lib/Cake/Model /Model.php#L2907-L2915). Nota che hasAny non esiste nella versione corrente di CakePHP. – AD7six

+0

funziona. .thanksss – MKD

+0

@ AD7six. Hai ragione. 'hasAny' non è disponibile in' V 3'. 'COUNT' ti aiuterà. –

Problemi correlati