7

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

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

怎么可能?

那就是我想要转换查询,

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

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

4

3 回答 3

16

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

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

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

$db = ConnectionManager::getDataSource('default');
$db->rawQuery("DELETE FROM table WHERE id=5");
于 2013-04-29T10:13:36.560 回答
8

使用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();

希望它会帮助某人。

于 2016-01-20T12:21:47.517 回答
1
delete(int $id = null, boolean $cascade = true);

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

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

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

或者如果您知道静态 ID

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

如果我能帮助你更多,请告诉我

于 2013-04-29T11:43:40.567 回答