CakePHP 删除

WBOY
发布: 2024-08-29 12:57:41
原创
1217 人浏览过

基本上,CakePHP 是一个用于执行删除的框架,用于从 $id 标识的数据库中删除记录。通常删除命令依赖于记录,这意味着我们可以说用户的关系是一对多的,或者我们可以拥有归属关系。我们知道PHP是一种脚本服务器端语言,用于在不同网页之间进行动态交互。换句话说,我们可以根据自己的需求,借助CakePHP框架来删除MySQL数据库中的记录,而且实现起来很简单。

开始您的免费软件开发课程

网络开发、编程语言、软件测试及其他

CakePHP 删除概述

要删除数据集中的记录,我们首先需要利用TableRegistry类获取一个表。我们可以使用 get() 方法从库中取出该事件。 get() 技术将数据集表的名称作为争用。目前,这个新示例用于获取我们需要删除的特定记录。

使用这个新事件调用 get() 策略,并传递必要的键来观察将保存在另一个案例中的记录。利用TableRegistry类的例子调用删除技术从信息库中删除记录。

将应用删除规则。假设标准达不到要求,删除将会被阻止。

删除事件之前的 Model.before 已关闭。假设此事件被停止,删除将被缩短并返回事件的结果。

该元素将被删除。

所有依赖关系都将被删除。如果关系被作为内容删除,则会发送额外的事件。

任何属于多个从属关系的交集表记录都将被删除。

模型。删除后场合将会被关闭。

如何删除CakePHP中的数据?

现在让我们看看如何在 CakePHP 框架中执行删除操作,如下所示。

要删除数据库中的记录,我们首先需要利用TableRegistry的功能保留一个工作区。我们可以使用 get() 方法从库中获取该事件。 get() 方法将接受信息库工作区的调用作为问题。目前,这个新机会用于获取我们需要删除的有趣文件。

使用这个新模型调用 get() 过程,并绕过主键来查看报告,以便保存在每个其他示例中。利用TableRegistry的趣味指南调用delete方法来处理从数据集中删除记录。

删除元素的同时,相关信息也会被删除。如果您的 HasOne 和多个附属机构被设计为依赖项,则删除任务也将“转向”这些物质。当然,使用 CakeORMTable::deleteAll() 可以删除相关表中的元素。您可以选择拥有 ORM 加载相关元素,并通过将cascadeCallbacks选项设置为有效来独立删除它们。具有这两种选择的 HasMany 关系示例如下:

现在让我们看看语法如下。

delete(integer $specified id of table= null, required boolean value$cascade = true);
登录后复制

说明

使用上面的语法我们可以在CakePHP中实现删除,这里我们使用不同参数的删除命令如下。

表的指定Id是该表的唯一标识符,它是一个整数,最初为空,根据我们的要求我们可以更改Id的值。

在此语法中,我们还使用布尔值来设置删除操作的级联实现,如上面的语法所示。
CakePHP批量删除

现在让我们看看如何在 CakePHP 中执行批量删除,如下所示。

有时单独擦除线条可能没有效果或没有帮助。在这些情况下,使用整体擦除来消除许多行而不会有片刻延迟会更有效。如果至少 1 行被擦除,则认为整体擦除是有效的。容量以整数形式返回已删除记录的数量。

现在让我们看看批量删除的语法如下。

function deletespam()
{
return $this->deleteAll(['Specified statement that is spam' => true]);
}
登录后复制

说明

在上面的语法中,我们声明了一个函数,并在函数内部调用了deleteAll方法,如图所示。在这个语法中,我们需要设置我们想要的指定语句的布尔值,这取决于用户的需求。

示例

现在让我们看看删除操作的不同示例,以便更好地理解,如下。

首先,我们需要创建一个新表,并将一些记录放入表中,如下所示。

CREATE TABLE IF NOT EXISTS `sampledemo` (
`id` char(30) NOT NULL,
`EmpName` varchar(250) DEFAULT NULL,
`EmpPass` varchar(40) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
登录后复制

现在在新创建的表中插入记录,如下所示。

INSERT INTO `sampledemo` (`id`, `EmpName`, `EmpPass`) VALUES
('3', 'Siya','$2y$10$HKLH3YiZE'),
('4', 'Rohan','$2y$10$bZcoCTW'),
('5', 'Tanya','$2y$10$SnGQV8O');
登录后复制

Explanation

After Execution of the above query, we will get the following result as shown in the following screenshot as follows.

CakePHP 删除

Now we need to make the changes in route.php as shown below.

<?php
use Cake\Http\Middleware\CsrfProtectionMiddleware;
use Cake\Routing\Route\DashedRoute;
use Cake\Routing\RouteBuilder;
$routes->setRouteClass(DashedRoute::class);
$routes->scope('/', function (RouteBuilder $builder) {
$builder->registerMiddleware('csrf', new CsrfProtectionMiddleware([
'httpOnly' => true,
]));
$builder->applyMiddleware('csrf');
$builder->connect('/users/delete', ['controller' => 'sam, 'action' => 'delete']);
$builder->fallbacks();
});
Now we need to create a usercontroller.php file and write the following code as follows.
?php
namespace App\Controller;
use App\Controller\AppController;
use Cake\ORM\TableRegistry;
use Cake\Datasource\ConnectionManager;
class UsersController extends AppController{
public function sequence (){
$users = TableRegistry::get('users');
$query = $users->find();
$this->set('output',$query);
}
public function delete($id){
$users_table = TableRegistry::get('users');
$users = $users_table->get($id);
$users_table->delete($users);
echo "deleted successfully.";
$this->setAction('sequence');
}
}
?>
登录后复制

Now we need to create a directory for the user and that file we call a ctp file either sequence or index as per our requirement we can change the name of the file and write the following code as follows.

<a href="add"> User</a>
<table>
<tr>
<td>Id</td>
<td>EmpNamee</td>
<td>EmpPass</td>
<td>Edit</td>
<td>Delete</td>
</tr>
<?php
foreach ($Output as $row):
echo "<tr><td>".$row->id."</td>";
echo "<td>".$row->Empname."</td>";
echo "<td>".$rows->EmpPass."</td>";
echo "<td><a href='".$this->Url->build(["controller" => "Users","action" => "edit",$row->id])."'>Edit</a></td>";
echo "<td><a href='".$this->Url->build(["controller" => "Users","action" => "delete",$row->id])."'>Delete</a></td></tr>";
endforeach;
?>
</table>
登录后复制

Now run the script in localhost and see the output, here is the end result of the above implementation we illustrated by using a screenshot as follows.

CakePHP 删除

Now suppose we need to delete the 3 number records, so we need to provide the id of that row and the after delete operation result as shown in the following screenshot.

CakePHP 删除

Similarly, we can delete the 4th number row and we can see the result in the following screenshot as follows.

CakePHP 删除

Conclusion

We hope from this article you learn more about the CakePHP delete. From the above article, we have taken in the essential idea of the CakePHP delete and we also see the representation and example of the CakePHP delete. From this article, we learned how and when we use the CakePHP delete.

以上是CakePHP 删除的详细内容。更多信息请关注PHP中文网其他相关文章!

相关标签:
php
来源:php
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板