如何删除cakephp中where条件的单条记录?

Vin*_* VT 7 cakephp cakephp-2.0

我正在使用cakephp2.如何用条件删除单个记录?

我有一个名为posts的表,其中包含字段id,title,post.主键是id.我想删除id = 5的单个记录?

怎么可能?

那是我转换查询的魔杖,

$this->query('delete * from posts where id = 5'); To cakephp ?
Run Code Online (Sandbox Code Playgroud)

这个函数是如何写在名为Post的cakephp modeln上的?

Pre*_*tam 15

你可以这样做.$this->Model->delete(5); 或者您可以先将ID分配给模型,然后将其删除.如

$this->Model->id = 5;
$this->Model->delete();
Run Code Online (Sandbox Code Playgroud)

如果你想在没有模型的情况下执行删除(或任何其他)查询,那么你应该尝试

$db = ConnectionManager::getDataSource('default');
$db->rawQuery("DELETE FROM table WHERE id=5");
Run Code Online (Sandbox Code Playgroud)


小智 7

使用deleteAll().

$this->Model->deleteAll(array('Model.field_name'=>'field_value'));
Run Code Online (Sandbox Code Playgroud)

或按主键删除:

1. $this->Model->delete(primary_key_value);

2. $this->Model->id = primary_key_value;
   $this->Model->delete();
Run Code Online (Sandbox Code Playgroud)

希望它会帮助某人.