CakePHP3のQueryでDBのカラム同士の比較を行う

この記事の目次
chevron_right やりたいこと
chevron_right だめな例
chevron_right 良さげな例

やりたいこと

CakePHPのQueryBuilderで、DBのカラム同士を比較したい
例えば、created_atカラムとupdated_atカラムを比較する、など

だめな例

public function check()
{
    return $this->query()
    ->where([
        'created_at <' => 'updated_at',
    ])
    ->toArray();
}

良さげな例

public function check()
{
    return $this->query()
    ->where([
        'created_at <' => $this->query()->identifier('updated_at'),
    ])
    ->toArray();
}

updated_atの部分を$this->query()->identifier('updated_at')に変更します。
$this->query()->identifier('カラム名')

[PR] おすすめの本
この記事を書いた人
Nな人(えぬなひと)。
Nは本名から取っています。
Laravelが大好きなPHPerで、WEBを作るときはLaravelを技術スタックに絶対推すマン。
PHP、Pythonと、昔はperlを書いていたP言語エンジニア。
最近はNimを書いたりしています。