alias

Posted by muchag | CakePHP | 2011-07-02 (土) 23:42:37

alias なんていうプロパティがあることを発見。
達人の方々はすごい・・・。

【環境】
[CakePHP] 1.3.8
利用法
  1. $this->(モデル名)->alias = '(エイリアス名)';
  2.  
  3. $this->User->alias = 'u';

このように記述してやることで、以降エイリアス名にて指定可能になる。
 

name との差異

どこかの自動翻訳サイトで
name プロパティと alias プロパティの違い
なんていうテーマが載っていたけど
確かに SQL から見れば
CakePHP のモデル名もエイリアスになっている。
(結局違いはわからなかった・・・)
 

SQL 文

CakePHP の吐く SQL 文を見れば一目瞭然で

  1. FROM users AS 'User'

のような感じになっている。
 

レコードセット

抽出結果のレコードセットを見ても

  1. // name
  2. $result = $this->Model->find('first', $params);
  3. print_r($result);
  4.  
  5. // output
  6. Array
  7. (
  8.     [Model] ・・・
  9. )
  10.  
  11. // alias
  12. $this->Model->alias = 'm';
  13. $result = $this->Model->find('first', $params);
  14. print_r($result);
  15.  
  16. // output
  17. Array
  18. (
  19.     [m] ・・・
  20. )

こうなる。
 
もっと CakePHP の理解が進んだら
再び勉強してみようっと。
 

virtualFields との併用

マニュアルに virtualFields と併用する際の注意点が載っていた。
The CakePHP 1.3 Book:3.7.10.3 バーチャルフィールドとモデルのエイリアス

CakePHP | 2011-07-02 (土) 23:42:37 |

コメントはまだありません »

No comments yet.

RSS feed for comments on this post. TrackBack URI

Leave a comment