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

时间:2013-04-29 10:09:42

标签: cakephp cakephp-2.0

我正在使用cakephp2。如何删除具有条件的单个记录?

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

怎么可能?

这是我转换查询的魔杖,

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

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

3 个答案:

答案 0 :(得分:15)

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

$this->Model->id = 5;
$this->Model->delete();

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

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

答案 1 :(得分:7)

使用deleteAll()

$this->Model->deleteAll(array('Model.field_name'=>'field_value'));

或按主键删除:

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

2. $this->Model->id = primary_key_value;
   $this->Model->delete();

希望它会对某人有所帮助。

答案 2 :(得分:1)

delete(int $id = null, boolean $cascade = true);

删除$ id标识的记录。默认情况下,还会删除依赖于指定要删除的记录的记录。

您还可以应用控制器中的功能删除一条记录

$this->Post->delete($this->request->data('Post.id'));

或者您是否知道静态ID

$this->Post->delete(5);

如果我可以帮助你,请告诉我