【市場価値がわかる】エンジニア転職におすすめなサイト

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();
        }
    }

これでデータを削除できます。

>>転職するのにおすすめのサイトはこちらをクリック
>>副業で稼ぐためにおすすめのサイトはこちらをクリック

スキルを売り買いするならココナラ

オンライン動画学習ならUdemy

コメント

コメントする

CAPTCHA


Contents
閉じる