CakePHP DataSource CheatSheet
 Share
The version of the browser you are using is no longer supported. Please upgrade to a supported browser.Dismiss

 
View only
 
 
Still loading...
ABCDEFGHIJKLMNOPQRS
1
メンバー変数/メソッド名パラメータ説明
2
__construct(初期化
3
$id,モデルのid。配列の場合は動的生成
4
$table,このモデルで使用するテーブル
5
$ds)このモデルが接続する接続名
6
implementedEvents()リスナーコールバックメソッドの一覧を返す
7
getEventManager()コールバックで使用するCakeEventManagerマネージャーのインスタンスを返す
8
__call(カスタムメソッドの呼び出し。DBモデルにおけるfindBy<項目名>や、リモートデータベースに対するカスタムRPCコールなど。ここからはデータソースの query() が以下の書式で呼び出される:
return $this->getDataSource()->query($method, $params, $this);
@param string $method Name of method to call.
@param array $params Parameters for the method.
@return mixed Whatever is returned by called method
9
$methodメソッド名
10
$params)メソッドに渡すパラメータ
11
__isset(関連付け先モデルの遅延ロード
12
$name)クラス名
13
__get__isset()
14
$name)
15
find($typeall / first / count / neighbors / list / threadedデータソースに問合せて結果セットを配列で返す。
find 操作を実行するのに使われる。
第一引数は find 操作のタイプで以下のいずれか:
  * (all / first / count / neighbors / list / threaded),
16
$query)'conditions', 'limit', 'recursive', 'page', 'fields', 'offset', 'order', 'callbacks' をキーに持つ配列第二引数は検索オプションを表す配列で、以下のキーを持つ:
'conditions', 'limit', 'recursive', 'page', 'fields', 'offset', 'order', 'callbacks'
実行例:
$model->find('all', [
  'conditions' => [ 'name' => 'Thomas Anderson' ],
  'fields' => [ 'name', 'email' ], 'order' => 'field3 DESC',
  'recursive' => 2, 'group' => 'type', 'callbacks' => false ]);
標準的なクエリー以外にも、データソースやビヘイビア固有のキーを渡すことも可能。
たとえば SQL ベースのデータソースを使っている場合、JOIN キーを使って
クエリーの一部となる JOIN 句のパラメータを渡すことができる。
$model->find('all', [
  'conditions' => [ 'name' => 'Thomas Anderson' ],
  'joins' => [
[
    'alias' => 'Thought',
 'table' => 'thoughts', 
type' => 'LEFT',
    'conditions' => '`Thought`.`person_id` = `Person`.`id`'
]
]);
17
コールバックの無効化:
`callbacks` によりコールバックを行うかどうかを指定できる。
beforeFind / afterFind コールバックを無効にする場合は
オプションで`'callbacks' => false` と指定する。
また 'before' や 'after' と指定することで、いずれかだけを実行することも可能。
18
新しい find タイプの追加:
ビヘイビアや find タイプによりカスタム検索キーを定義できる。
カスタム find タイプについては http://book.cakephp.org/2.0/en/models/retrieving-your-data.html#creating-custom-find-types を参照。
19
注釈 'list' の 'fields' の指定:
フィールド指定がない場合はキーとして 'id'、値として 'model->displayField' が使われる。
単一の値が指定された場合はキーとして 'id'、指定値が値として使われる。
3つの項目が指定された場合は、指定順にキー、値、グループとなる。
上位以外の場合は最初の項目がキー、2番目の項目が値として使われる。
20
注意:find(list) とデータベースのビューは MySQL 5.0 では問題になる。
もしデータベースに問題が出たら、MySQL 5.1 に上げてみてほしい。
find(count) は自身の戻り値がある。
21
getID(現在レコードの id の値を返す。
find() と exists() だけから呼ばれる。
22
$list)
23
buildQuery(データソースで問合せのために使われるクエリーの配列を構築する。find() だけから呼ばれる。
24
$type(all / first / count / neighbors / list / threaded)
25
$query)(conditions / fields / joins / limit / offset / order / page / group / callbacks)
26
getDataSource()setSource() してから ConnectionManager::getDataSource を呼ぶ。
27
onError()ダミー。ModelBehavior->onError() で再定義可能。
28
query(クエリーの抽象化。
findByXXX() や SQL/LDAP の直接コール時に呼ばれる。
与えられた SQL ステートメントの結果を返す。
カスタム SQL クエリーがこのメソッドを実行する。
このメソッドは第2、第3パラメータをオプションとして受け取る。
第2パラメータはクエリーをキャッシュするかどうかを制御するブール値、
またはプリペアド・ステートメントのプレースホルダーとして使う配列のいずれか。
第3パラメータは、第2パラメータが与えられた場合に、クエリーをキャッシュするか
どうかを制御するブール値として使われる

29
$sql)可変引数。そのまま Datasource->query() に渡される。
30
read(Mode->find() の下請け。単一レコードの読み込み。
31
$fields取り出したい単一の項目名、または項目名の配列
32
$idプライマリーキーの値
33
resetAssociations()アソシエーションのリセット。find() だけから呼ばれる。
34
_filterResults(read() で返された結果をフィルターする。
find() だけから呼ばれる。
35
$results)
36
save(1レコードの保存。create() または update() を呼ぶ。
37
saveAll(後方互換のためのラッパー。
38
setSource(当該モデルのカスタムテーブルを設定する。コントローラからテーブルを選択するのに使われる。getDataSource() だけから呼ばれる。
39
$tableName)
40
Loading...
 
 
 
Model
DataSources
Calling Sequence
ldap_* args