LoginSignup
0
1

More than 5 years have passed since last update.

【CakePHP3】ORMのgetメソッドにid以外の検索条件をつける

Posted at

DBのカラムにdelete_flagをつけて論理削除することはよくあると思います。
findメソッドだとconditionsやwhereで検索条件としてdelete_flat=0をつけることが出来ますが、
findの場合データが無くても例外は出ません。
例外を出したい場合は、getにカスタムFinderを指定することが出来ます。

// カスタムFinder定義
class ExampleTable extends Table
{
  // メソッド名はfindXxxの形
  public function findNotDelete(Query $query): Query
      {
          return $query->where([
              'delete_flag' => 0
          ]);
      }
}

// getの引数にfinderを指定
$tableName->get($id, ['finder', 'notDelete']);

以上。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1