CakePHP 삭제

WBOY
WBOY원래의
2024-08-29 12:57:411252검색

기본적으로 CakePHP는 삭제를 수행하는 데 사용되는 프레임워크이며 $id로 식별되는 데이터베이스에서 레코드를 삭제하는 데 사용됩니다. 일반적으로 삭제 명령은 레코드에 따라 달라집니다. 즉, 사용자 관계가 일대다이거나 속할 수 있다고 말할 수 있습니다. 우리는 PHP가 서로 다른 웹 페이지 간에 동적 상호 작용을 수행하는 스크립팅 서버 측 언어라는 것을 알고 있습니다. 즉, 우리의 요구 사항에 따라 CakePHP 프레임워크의 도움으로 MySQL 데이터베이스에서 레코드를 삭제할 수 있고 구현도 쉽다고 말할 수 있습니다.

무료 소프트웨어 개발 과정 시작

웹 개발, 프로그래밍 언어, 소프트웨어 테스팅 등

CakePHP 삭제 개요

데이터 세트에서 레코드를 삭제하려면 먼저 Table Registry 클래스를 활용하여 테이블을 확보해야 합니다. get() 기술을 사용하여 라이브러리에서 이벤트를 가져올 수 있습니다. get() 기술은 데이터 세트 테이블의 이름을 경합으로 사용합니다. 현재 이 새로운 예는 삭제해야 하는 특정 레코드를 가져오는 데 활용됩니다.

이 새로운 발생으로 get() 전략을 호출하고 필수 키를 전달하여 다른 경우에 저장될 레코드를 관찰합니다. 테이블 레지스트리 클래스의 예제를 활용하여 삭제 기술을 호출하여 정보 베이스에서 레코드를 삭제합니다.

삭제 규칙이 적용됩니다. 표준이 무너진다고 가정하면 삭제가 불가능해집니다.

모델 삭제 전의 행사가 시작됩니다. 이번 행사가 중단된다는 가정 하에 삭제는 짧게 진행되며 행사 결과는 반환됩니다.

해당 요소가 삭제됩니다.

모든 의존 관계가 삭제됩니다. 만약 소속이 물질로 삭제될 경우, 추가 기회가 발송될 예정입니다.

Belongs to Many 소속에 대한 교차 테이블 기록은 모두 삭제됩니다.

모델. 삭제 후 행사가 시작됩니다.

CakePHP에서 데이터를 삭제하는 방법은 무엇입니까?

이제 다음과 같이 CakePHP 프레임워크에서 삭제를 수행하는 방법을 살펴보겠습니다.

정보베이스의 레코드를 삭제하려면 먼저 TableRegistry의 우수성을 활용하여 작업 영역을 유지해야 합니다. get() 메소드를 활용하여 라이브러리에서 이벤트를 가져올 수 있습니다. get() 접근 방식은 정보 기반 작업 영역 호출을 문제로 받아들입니다. 현재 이 새로운 기회는 삭제해야 할 흥미로운 문서를 얻는 데 활용됩니다.

이 새로운 모델로 get() 프로시저를 호출하고 기본 키를 생략하여 각각의 모든 예제에 저장된 보고서를 봅니다. 데이터 세트에서 레코드 삭제를 처리하기 위해 삭제 방법을 호출하려면 TableRegistry 취향 가이드를 활용하세요.

요소를 삭제하는 동안 관련 정보도 삭제될 수 있습니다. HasOne과 많은 제휴사가 의존적으로 설계된 경우 삭제 작업도 해당 물질에 '과정'됩니다. 물론 관련 테이블의 요소는 CakeORMTable::deleteAll()을 사용하여 제거됩니다. ORM 로드 관련 요소를 선택하고 cascadeCallbacks 선택 사항을 유효로 설정하여 독립적으로 삭제할 수 있습니다. 두 가지 선택 사항이 모두 부여된 HasMany 관계의 예는 다음과 같습니다.

이제 다음과 같이 구문을 살펴보겠습니다.

delete(integer $specified id of table= null, required boolean value$cascade = true);

설명

위 구문을 사용하여 CakePHP에서 삭제를 구현할 수 있습니다. 여기서는 다음과 같이 다양한 매개변수와 함께 삭제 명령을 사용합니다.

테이블의 지정된 ID는 해당 테이블의 고유 식별자이며 정수입니다. 처음에는 요구 사항에 따라 null이며 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
이전 기사:PHP 사용다음 기사:PHP 사용