\NetCommonsAppModel

NetCommonsApp Model

CakePHPのModelクラスを継承してます。
ドキュメントルートのapp.Mode.AppModelはこのクラスを継承しているので、
全モデルの基底クラスになります。
Overrideしているメソッドもあり、CakePHPの通常動作と異なるものがありますので注意して下さい。

CakePHPのModel処理をOverrideしているメソッドです。

__construct
getDataSource
create

Summary

Methods
Properties
Constants
__construct()
setMasterDataSource()
setSlaveDataSource()
getDataSource()
create()
createAll()
begin()
commit()
rollback()
loadModels()
$actsAs
$validate
$useDbConfig
$blockId
$blockKey
$contentKey
No constants found
_getDefaultValue()
_doSave()
_readDataSource()
No protected properties found
N/A
__getRandomlySlave()
__changeDataSource()
$__changeDbConfig
$__oldSlaveDbConfig
N/A

Properties

$actsAs

$actsAs : array

use behaviors

Type

array

$validate

$validate : array

Validation rules

Type

array

$useDbConfig

$useDbConfig : string

Use database config

Type

string

$blockId

$blockId : string

ブロックId Behaviorで関連データ削除する際に使用する

Type

string

$blockKey

$blockKey : string

ブロックKey Behaviorで関連データ削除する際に使用する

Type

string

$contentKey

$contentKey : string

コンテンツKey Behaviorで関連データ削除する際に使用する

Type

string

$__changeDbConfig

$__changeDbConfig : string

接続先DB master slave変更用

Type

string

$__oldSlaveDbConfig

$__oldSlaveDbConfig : string

接続先DB 古いslave保存用

Type

string

Methods

__construct()

__construct(boolean|integer|string|array  $id = false, string  $table = null, string  $ds = null) : void

Constructor. DataSourceの選択

接続先DBをランダムに選択します。

Parameters

boolean|integer|string|array $id

Set this ID for this model on startup, can also be an array of options, see above.

string $table

Name of database table to use.

string $ds

DataSource connection name.

setMasterDataSource()

setMasterDataSource() : void

Masterの接続先に変更する。

setSlaveDataSource()

setSlaveDataSource() : void

以前のSlaveの接続先に戻す。なければ、ランダムに選択

getDataSource()

getDataSource() : \DataSource

Gets the DataSource to which this model is bound.

Returns

\DataSource —

A DataSource object

create()

create(boolean|array  $data = array(), boolean  $filterKey = false) : array

NetCommonsで使用する共通の値がセットされた結果を返します。<br> CakePHPのSchemaは、not null指定されたカラムのdefaultがnullになっているため、<br> ''(長さ0の文字列)に書き換えています。<br> https://github.com/NetCommons3/NetCommons3/issues/7

セットされるデータ

'room_id' => Current::read('Room.id'),
'language_id' => Current::read('Language.id'),
'block_id' => Current::read('Block.id'),
'block_key' => Current::read('Block.key'),
'frame_id' => Current::read('Frame.id'),
'frame_key' => Current::read('Frame.key'),
'plugin_key' => Inflector::underscore($this->plugin),

Parameters

boolean|array $data

Optional data array to assign to the model after it is created. If null or false, schema data defaults are not merged.

boolean $filterKey

If true, overwrites any primary key input with an empty value

Returns

array —

The current Model::data; after merging $data and/or defaults from database

createAll()

createAll(boolean|array  $data = array(), boolean  $filterKey = false) : array

Initializes the model for writing a new record, loading the default values for those fields that are not defined in $data, and clearing previous validation errors.

Especially helpful for saving data in loops.

Parameters

boolean|array $data

Optional data array to assign to the model after it is created. If null or false, schema data defaults are not merged.

boolean $filterKey

If true, overwrites any primary key input with an empty value

Returns

array —

The current Model::data; after merging $data and/or defaults from database

begin()

begin() : void

transaction begin

commit()

commit() : void

transaction commit

rollback()

rollback(mixed  $ex = null) : void

transaction rollback

Parameters

mixed $ex

Exception

Throws

\Exception

loadModels()

loadModels(array  $models = array()) : void

Load models

Parameters

array $models

models to load

_getDefaultValue()

_getDefaultValue() : array

全カラムのデフォルト値をセットした配列を返す。

Returns

array —

デフォルト値をセットした配列

_doSave()

_doSave(array  $data = null, array  $options = array()) : mixed

cakephpの登録処理をオーバーライド

cakephpのsave時にcreated,modifiedの項目にセットする時間が、date_default_timezone_setに影響してしまうため、 登録直前にUTCに変更し、登録後にdate_default_timezone_setを元に戻すため、オーバライドする

Parameters

array $data

Data to save.

array $options

can have following keys:

  • validate: Set to true/false to enable or disable validation.
  • fieldList: An array of fields you want to allow for saving.
  • callbacks: Set to false to disable callbacks. Using 'before' or 'after' will enable only those callbacks.
  • counterCache: Boolean to control updating of counter caches (if any)

Throws

\PDOException

Returns

mixed —

On success Model::$data if its not empty or true, false on failure

_readDataSource()

_readDataSource(string  $type, array  $query) : array

Findの結果をキャッシュする際、afterFindは実行させたいので、CakeのModelを継承して、カスタマイズする。

Parameters

string $type

Type of find operation (all / first / count / neighbors / list / threaded)

array $query

Option fields (conditions / fields / joins / limit / offset / order / page / group / callbacks)

Returns

array

__getRandomlySlave()

__getRandomlySlave() : string

Find the slaves we have

Returns

string —

The name of the DataSource, as defined in app/Config/database.php

__changeDataSource()

__changeDataSource() : void

MasterDBに切り替える処理