Php phalcon MVC模型如何删除数据?

Php phalcon MVC模型如何删除数据?,php,phalcon,Php,Phalcon,我在网上搜索了很长时间,但是没有运气。请帮助或尝试给出一些如何实现这一点的想法 我想删除一些数据,如: $articleIds = '1,2,3,5,8'; $User = new User(); $success = $User->delete($articleIds); 但是,这是一个错误。我该怎么办 提前感谢。尝试以下任何一种删除多条记录的方法,然后选择您最喜欢的一条: A) 查找然后删除: $ids = '1,2,3'; $records = User::find(sp

我在网上搜索了很长时间,但是没有运气。请帮助或尝试给出一些如何实现这一点的想法

我想删除一些数据,如:

$articleIds = '1,2,3,5,8';
$User    = new User();
$success = $User->delete($articleIds);  
但是,这是一个错误。我该怎么办


提前感谢。

尝试以下任何一种删除多条记录的方法,然后选择您最喜欢的一条:

A) 查找然后删除:

$ids = '1,2,3';
$records = User::find(sprintf("id IN (%s)", $ids)); // or you can avoid using sprintf and simply use concatenating operator like "IN (" . $ids . ")"
$records->delete(); // this should return boolean
B) 您还可以链接上述方法调用:

User::find(sprintf("id IN (%s)", $ids))->delete();
C) 或者,您可以迭代每条记录,然后将其删除,如Phalcon文档所示:

D) 最后,您可以使用Phalcon PHQL编写“原始”SQL语句:

$config = [
    'host' => '127.0.0.1',
    'username' => 'user',
    'password' => 'pass',
    'dbname' => 'test'
];
$connection = new \Phalcon\Db\Adapter\Pdo\Mysql($config);
$sql = sprintf("DELETE `users` WHERE `id` IN (%s)", $ids);
$success = $connection->execute($sql);
更多信息请点击此处:



记住。。。从用户输入(例如:通过GET或允许用户选择记录的表单/表)接受记录ID时要非常小心。但我认为这是另一个问题的主题。

首先清理您的输入,并确保只有
int
变量被接受到您的ID数组中。然后使用下面的代码删除所有记录

$ids = [1, 2, 3];
$records = User::find([
    'conditions' => 'id IN (:ids:)',
    'bind' => array('ids' => implode(', ', $ids)),
]);
$records->delete();

非常感谢你的帮助!如果你的问题解决了,请考虑标记@ YOMARALALS的答案。