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

やりたいこと

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を書いたりしています。