删除php数组中不存在的数据库ID中的数据

时间:2018-06-11 07:18:30

标签: php mysql codeigniter

我使用的是CodeIgniter,我的控制器中有两个变量

$bus_code = 1;

$route_code = array('route_code' => 1,'route_code' => 3,'route_code' => 4);

mysql表数据,

- id, route_code,   bus_code
 - 1,     1,             1
 - 2,     2,             2
 - 3,     3,             1
 - 4,     4,             1
 - 5,     5,             2
 - 6,     7,             2

我想删除总线代码为1且路径代码不在$route_code数组中的数据 在CodeIgniter模型中

4 个答案:

答案 0 :(得分:0)

你走了。

$this->db->where('bus_code', $id);
$this->db->where_not_in('route_code', $route_code);
$this->db->delete('tableName'); 

答案 1 :(得分:0)

这将提供帮助:

$this->db->where('bus_code', 1);
$this->db->where_not_in('route_code', $route_code);
$this->db->delete('table_name'); 

使用表格名称更改table_name

答案 2 :(得分:0)

您可以执行以下操作:

$route_code = array('route_code' => 1,'route_code' => 3,'route_code' => 4);
$route_code_values = array_values($route_code);
$this->db->where('bus_code', 1);  // Instead of 1 you can set variable too
$this->db->where_not_in('route_code', $route_code_values); // Passing just values of routes, We have defined column in 1st argument.
$this->db->delete('tableName'); // Set table name.

答案 3 :(得分:0)

希望这会对您有所帮助:

$bus_code = 1;
$route_code = [1,3,4];
$this->db->where('bus_code', $bus_code);
$this->db->where_not_in('route_code', $route_code);
$this->db->delete('table_name'); 

注意:根据上面给出的当前条件,不会删除任何行

更多信息:https://www.codeigniter.com/user_guide/database/query_builder.html#deleting-data