cakephp3 SQLを直接入力し実行するには

SQL
データベースを実行するやり方は、色々存在します。その中には、直接SQLのコードを入力し実行するというやり方もあります。やはり、内容が複雑であればあるほどややこしくなり、直接SQLを入力したくなる時がありますよね。

ということで、やり方は以下の通りです。

use Cake\Datasource\ConnectionManager;
$sql = 'SELECT * FROM hoge WHERE hoge=1';
   
$connection = ConnectionManager::get('default');
$results = $connection->execute($sql)->fetchAll('assoc');

 


おまけですが、Cakephp2でも直接SQLを入力することができるみたいです。ですが全く記述の仕方が異なりました。

$this->Timelog->query('SELECT * FROM hoge WHERE hoge=1');

え、うそ
これだけ?( ゚Д゚)

 

実際、cakephp2の方では上記のコードを使用した動作確認をしていないため、上記のコードで動く確証はないのですが、cakephp3とcakephp2とではまったく仕様が違うなと、たびたび実感する私です
(´・ω・`)

コメントを残す

%d人のブロガーが「いいね」をつけました。