我正在使用cakephp2。如何删除具有条件的单个记录?
我有一个名为posts的表,其中包含字段id,title,post。主键是id。我想删除id = 5的单个记录?
怎么可能?
这是我转换查询的魔杖,
$this->query('delete * from posts where id = 5'); To cakephp ?
如何在名为Post的cakephp modeln上写这个函数?
答案 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);
如果我可以帮助你,请告诉我