19

モデルが関連付けられていないテーブルに対して、AppController でクエリを実行しようとしています。このクエリはすべてのリクエストで起動するため、モデルを使用したくありません。モデルを使用すると少し遅くなると思います。

あるフォーラムで、CakePHP 1.3 の次のコードでこれを実現できることがわかりました。

$db = ConnectionManager::getInstance();
$conn = $db->getDataSource('default');
$conn->rawQuery($some_sql);

しかし、これは CakePHP 2.1.3 では機能しません。どんな助けでも大歓迎です。ありがとう :)

4

3 に答える 3

34

このgetDataSource()メソッドはCakePHP2.xでは静的であるため、次を使用できるはずです。

$db = ConnectionManager::getDataSource('default');
$db->rawQuery($some_sql);
于 2012-06-15T13:53:00.987 に答える
3

rawQuery はデータを返さないので、代わりに $db->query を使用してください。

$db = ConnectionManager::getDataSource('default');
$data = $db->query($some_sql);
于 2016-07-03T06:13:03.737 に答える