データベースを実行するやり方は、色々存在します。その中には、直接SQLのコードを入力し実行するというやり方もあります。やはり、内容が複雑であればあるほどややこしくなり、直接SQLを入力したくなる時がありますよね。
ということで、やり方は以下の通りです。
[code class=”php”]
use Cake\Datasource\ConnectionManager;
$sql = ‘SELECT * FROM hoge WHERE hoge=1’;
$connection = ConnectionManager::get(‘default’);
$results = $connection->execute($sql)->fetchAll(‘assoc’);
[/code]
おまけですが、Cakephp2でも直接SQLを入力することができるみたいです。ですが全く記述の仕方が異なりました。
[code class=”php”]
$this->Timelog->query(‘SELECT * FROM hoge WHERE hoge=1’);
[/code]
え、うそ
これだけ?( ゚Д゚)
実際、cakephp2の方では上記のコードを使用した動作確認をしていないため、上記のコードで動く確証はないのですが、cakephp3とcakephp2とではまったく仕様が違うなと、たびたび実感する私です
(´・ω・`)