
cakePHP4でテーブルの特定のデータを削除したい場合はどうすればいいんだろう…
こんな疑問を解決します。
この記事を最後まで読めば、身につきます。
- データを削除できる
事前にcompanies(id, company_code(integer), company_name(string))を用意しています。
開発環境
PHP8
cakePHP4
【関連記事】
・cakephp4でDBのデータを取得
・cakephp4テーブルにデータを登録
・cakephp4でテーブルのデータを更新
Contents
データの削除はdeleteメソッドを使う
データを削除してみましょう。
<?php
declare(strict_types=1);
namespace App\Controller;
use Cake\ORM\TableRegistry;
/**
* Companies Controller
*
* @property \App\Model\Table\CompaniesTable $Companies
* @method \App\Model\Entity\Company[]|\Cake\Datasource\ResultSetInterface paginate($object = null, array $settings = [])
*/
class CompaniesController extends AppController
{
public function initialize(): void
{
parent::initialize();
//companiesのDBを指定
$this->companies = TableRegistry::get('Companies');
}
/**
* データの削除処理
*/
public function delete()
{
$id = 3;
// getメソッドで、companiesテーブルから特定のデータを抽出。ここでは、id=3のデータを取得
$company = $this->companies->get($id);
// データの削除
$this->companies->delete($company);
}
}
deleteOrFailメソッドで、エラーがあった場合は例外処理を投げて処理できます。
/**
* データの削除処理
*/
public function delete()
{
$id = 2;
// getメソッドで、companiesテーブルから特定のデータを抽出。ここでは、id=2のデータを取得
$company = $this->companies->get($id);
// データの削除
try {
$this->companies->deleteOrFail($company);
} catch (\Cake\ORM\Exception\PersistenceFailedException $e) {
echo $e->getEntity();
}
}これでデータを削除できます。
エンジニアの基礎力を上げるおすすめ本を紹介!
- 30冊以上紹介(個人的に推し本の『仮説思考』の何が良かったかも書いています)
- エンジニアなら読むべき定番の技術本や思考力を上げるなど…多数の本を紹介
- AIの回答を判断できるための知識をつける本がたくさん
あわせて読みたい


エンジニアなら読むべきおすすめ本【2026年版の基礎力が身につく必読書】
「AIに聞けば答えは出る。でも、その答えの『正しさ』を判断する力はありますか?」 なかなか「正しく判断する力は私はある」と答えられる人は少なくなってきているので...




コメント