.ログイン
ユーザ名:

パスワード:


パスワード紛失

新規登録

.検索

.メインメニュー

.フォーラムメニュー

.オンライン状況
14 人のユーザが現在オンラインです。 (13 人のユーザが フォーラム を参照しています。)

登録ユーザ: 0
ゲスト: 14

もっと...

.
.リンク集

メイン
   CakePHP モデル(Model)
     モデルのqueryメソッドの工夫
投稿するにはまず登録を

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
news
投稿日時: 2008-4-10 10:16
Cake 職人
登録日: 2007-4-4
居住地:
投稿: 1277
モデルのqueryメソッドの工夫
どんなSQLでも自分で投げられるquery()でも、一工夫すると、データの加工が楽になる、という記事です。

Writing Some Code
モデルのqueryメソッドでfind、findAllと同等の返り値を得る方法
http://d.hatena.ne.jp/ngtn/20080409/1207747539

MySQLなら、

<?php
$this
->User->query('select * from users as User');
?>


PostgresSQLなら、

<?php
$this
->User->query('select id as "User__id", username as "User__username", password as "User__password" FROM users')
?>


でいけるそうです。

news
投稿日時: 2008-6-29 19:02
Cake 職人
登録日: 2007-4-4
居住地:
投稿: 1277
Re: モデルのqueryメソッドの工夫
もう少し洗練された方法。
sqliteではこれでOKだそうです。

エンジニアきまぐれTips
CakePHP 1.2 モデルのqueryメソッドでfind、findAllと同等の返り値を得る方法
http://d.hatena.ne.jp/okinaka/20080629#1214674711

<?php
$ds 
=& $this->User->getDataSource();
    
$fields implode(", "$ds->fields($this->User));
    
$table  $ds->fullTableName($this->User);
    
$alias  $ds->name($this->User->alias);
    
$data   $this->User->query("SELECT {$fields} FROM {$table} AS {$alias}");
?>

スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ

投稿するにはまず登録を
 


. .