cakephp4でテーブルのデータを削除する方法を解説

当ページのリンクには広告が含まれています。

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に聞けば答えは出る。でも、その答えの『正しさ』を判断する力はありますか?」 なかなか「正しく判断する力は私はある」と答えられる人は少なくなってきているので...

仮説思考 BCG流 問題発見・解決の発想法

3倍速で仕事を進めるコツがこの本でわかる!徹底的に調べてから、答えを出すのではなく全体像や本質を捉える考え方が身につきます。

コメント

コメントする

CAPTCHA


Contents