基本的に、CakePHP は削除を実行するために使用されるフレームワークであり、$id で識別されるデータベースからレコードを削除するために使用されます。通常、削除コマンドはレコードに依存します。これは、ユーザーの関係が 1 対多であるか、または属していると言えることを意味します。 PHP は、異なる Web ページ間で動的な対話を行うためのサーバー側スクリプト言語であることはわかっています。言い換えれば、CakePHP フレームワークの助けを借りて要件に応じて MySQL データベースからレコードを削除できるだけでなく、実装も簡単であると言えます。
無料ソフトウェア開発コースを始めましょう
Web 開発、プログラミング言語、ソフトウェア テスト、その他
データセット内のレコードを削除するには、まず Table Registry クラスを利用してテーブルを取得する必要があります。 get() テクニックを利用して、ライブラリからオケージョンを取り出すことができます。 get() 手法は、データ セット テーブルの名前を競合として取得します。現在、この新しい例は、削除する必要がある特定のレコードを取得するために利用されています。
この新しいオカレンスで get() ストラテジーを呼び出し、必須キーを渡して、別のケースに保存されるレコードを観察します。 Table Registry クラスの例を利用して削除テクニックを呼び出し、情報ベースからレコードを削除します。
削除ルールが適用されます。基準がうまくいかないと仮定すると、消去は阻止されるでしょう。
Model.before 削除機会が設定されます。この機会が停止したと仮定すると、削除は短縮され、機会の結果が返されます。
要素は削除されます。
すべての依存関係は削除されます。所属が物質として削除される可能性がある場合、追加の機会が送信されます。
多くの所属に属するための交差テーブル レコードはすべて削除されます。
モデル。削除後にイベントが開始されます。
次に、次のように CakePHP フレームワークで削除を実行する方法を見てみましょう。
情報ベース内のレコードを削除するには、まず TableRegistry の優れた機能を利用して作業領域を保持する必要があります。 get() メソッドを利用して、ライブラリからオケージョンを取得できます。 get() アプローチは、情報ベース作業域の呼び出しを問題として受け入れます。現在、この新しい機会は、削除する必要がある興味深い文書を取得するために利用されています。
この新しいモデルで get() プロシージャを呼び出し、メイン キーを回避して、他のすべての例で保存されたレポートを表示します。 TableRegistry のセンスネス ガイドを利用して、データ セットからのレコードの削除に対処する削除方法を呼び出します。
要素を消去すると、関連する情報も同様に消去できます。 HasOne と多くの所属が依存するように設計されている場合、消去タスクはそれらの物質にも「コース」します。もちろん、関連テーブル内の要素は CakeORMTable::deleteAll() を利用して削除されます。 cascadeCallbacks の選択を有効に設定することで、ORM ロード関連要素を選択し、それらを個別に消去することができます。これらの両方の選択肢が許可された HasMany 関係の例は次のようになります。
次に、次の構文を見てみましょう。
delete(integer $specified id of table= null, required boolean value$cascade = true);
説明
上記の構文を使用すると、CakePHP で delete を実装できます。ここでは、次のようにさまざまなパラメーターを指定して delete コマンドを使用します。
テーブルの指定された 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.
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.
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.
Similarly, we can delete the 4th number row and we can see the result in the following screenshot as follows.
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 中国語 Web サイトの他の関連記事を参照してください。