2
我尝试用Yii的活动记录删除数据库中的条目。但我认为它真的很奇怪。 我要删除我的表中的所有记录,其中vehicle_id =给定的ID和plug_id NOT IN(指定字符串)活动记录删除工作为false
我尝试了很多的方法并没有什么工作,但这个
$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