WEBエンジニアのメモ☀️

  1. TOP
  2. CakePHP
  3. CakePHP3.x|findメソッドの使い方

CakePHP3.x|findメソッドの使い方

■目次

  1. 最初の1件のレコードを取得する
  2. 複数レコードを取得する
  3. get()でエンティティーを取得する
  4. where()でwhere句を入れる
  5. select()で取得するカラムを指定する
  6. count()で件数を取得する
  7. order()で取得順を指定する
  8. limit()で取得件数を指定する
  9. LIKE検索(あいまい検索)をする
  10. OR検索をする
  11. NOT検索をする

スポンサーリンク

最初の1件のレコードを取得する

first()で最初の1件のレコードを取得します。

first()の場合は、戻り値はエンティティーになります。

$member = $this->Members->find()->first();

複数レコードを取得する

all()で複数レコードを取得できます。

戻り値は、エンティティーが複数入っているresultSetになります。

$members = $this->Members->find()->all();

get()でエンティティーを取得する

get()の引数には、プライマリキーの値を指定します。

戻り値はエンティティーです。

$id = 1;
$entity = $this->Members->get($id);

where()でwhere句を入れる

where()の引数にカラムをキーとして配列を入れるとwhere句になります。

first()にすると該当したレコードの最初の1件をエンティティで返します。

$id = 1;
$member = $this->Members->find()->where(['id' => $id])->first();

 

where に = 以外の比較(>=など)をおこないたい場合は、以下のように書きます。

$id = 1;
$member = $this->Members->find()->where(['id >=' => $id])->all();

select()で取得するカラムを指定する

select()で取得カラムを配列で指定できます。

select()を使わない場合は、select * となります。

$id = 1;
$member = $this->Members->find()->select(['id', 'member_name'])->where(['id' => $id])->first();

count()で件数を取得する

count()でレコード件数を取得できます。

$count = $this->Members->find()->where(['sex_id' => 1])->count();

order()で取得順を指定する

$members = $this->Members->find()->order(['id' => 'DESC'])->all();

上記指定では、SQLは ORDER BY id DESC となります。

limit()で取得件数を指定する

$members = $this->Members->find()->order(['id' => 'DESC'])->limit(5)->all();

上記指定では、SQLは ORDER BY id DESC LIMIT 5 となります。

LIKE検索(あいまい検索)をする

カラム名にLIKEを入れるとあいまい検索になります。

以下の例ではメールアドレスを検索しています。

$members = $this->Members->find()->where(['email LIKE' => '%' . $user_name . '%@' . $domain])->all();

OR検索をする

where句にORの配列を用意して、複数配列を渡すとOR1検索になります。

$members = $this->Members->find()->where(
    [
        'OR' => [
            ['id' => '10'],
            ['id' => '20'],
        ]
    ]
)->all();

NOT検索をする

where()に配列のキーをNotで指定するとNOT検索になります。

$members = $this->Members->find()->where(['NOT' => ['sex_id' => '1']])->all();

上記指定では、where句は、 WHERE NOT (sex_id = 1)となります。

更新日:2018年08月25日
作成日:2018年06月27日

スポンサーリンク

目次

  • TOP
  • Linux
  • Apache
  • htaccess
  • Postfix
  • Dovecot
  • vsftpd
  • SSH
  • cron
  • Git
  • PHP
  • MySQL
  • Oracle Database
  • CakePHP
  • Zend Framework
  • Laravel
  • Composer
  • cURL
  • シェルスクリプト
  • JavaScript
  • jQuery
  • HTMLとCSS
  • Google Maps API
  • MeCab
  • API
  • MQL
  • PhpStorm
  • Redis
  • Docker
  • VMware
  • WordPress
  • Mac
  • Windows
  • コマンドプロンプト
  • TeraTerm
  • IT用語
  • ビジネス用語
  • アフィリエイト
  • ツール
  • その他
  • サイトマップ

© 2021 WEBエンジニアのメモ☀️

お問い合わせ:masahiro801[at]hotmail.com ※[at]を@に置き換えてください♪

ページの先頭へ