2013-05-28 10 views
7

ho array con id e voglio eliminare tutti loro da idYii: CancTutti e nella dichiarazione

$membersId = array('1','2','3'); 
$inStatement = implode(',', $membersId); 

//dont work! 
TRatingMembers::model()->deleteAll(array('member_id IN (:member_id)'), 
    array(':member_id' => $inStatement)); 

Come eliminare tutte le righe con una sola transazione?

risposta

4
if (!empty(membersId)) { 
    $memberIds = implode(', ', $membersId); 
    TRatingMembers::model()->deleteAll('member_id IN (' . $memberIds . ')'); 
} 
+0

è sicuro? SQL Injection?! –

+0

È sicuro che la matrice contenga valori validi. –

+1

L'ho capito. Puoi anche considerare questo: 'Yii :: app() -> db-> createCommand() -> delete ('video', array ('IN', 'id', $ extraIds));' –