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的答案。