2
Yii의 활성 레코드가있는 데이터베이스의 항목을 삭제하려고합니다. 그러나 나는 그것이 정말로 이상하게 작동한다고 생각한다. 내가 내 테이블의 모든 레코드를 삭제하려는 vehicle_id = 지정된 ID와 plug_id NOT IN (주어진 문자열)활성 레코드 삭제가 작동하지 않습니다.
나는 많은 방법을 시도하고 아무 일 없지만,이
$query = "delete from `vehicle_details` where `vehicle_id`= ".$vehicle->id." AND `plug_id` NOT IN (".implode(',', array_map(function($item) {
return $item->type;
}, $vehicleDetails->plug)).")";
$command = Yii::app()->db->createCommand($query);
$command->execute();
왜 ISN ' 이 작동합니까?
VehicleDetail::model()->DeleteAllByAttributes(
array('vehicle_id' => $vehicle->id),
array('condition' => 'plug_id NOT IN (:ids)',
'params' => array('ids' => implode(',', array_map(function($item) {
return $item->type;
}, $vehicleDetails->plug)))));
또는이 :
VehicleDetail::model()->deleteAll(' vehicle_id = :vehicleId AND plug_id NOT IN (:ids)', array('vehicleId' => $vehicle->id, 'ids' => implode(',', array_map(function($item) {
return $item->type;
}, $vehicleDetails->plug))));
그러나 나는하고 그것이 잘 작동하고 올바른 데이터를 반환이 쿼리의 출력 특성에 의해 발견하면.
나에게 설명해 주시면 감사하겠습니다.
대단히 감사합니다. – EvilKarter