モデルのインスタンスを動的に作成する

技術関係

普通に使う

$model = "ModelName";
$instanceOfModel = ClassRegistry::init($model);

細かい指定を追加する

$instanceOfModel = ClassRegistry::init(array('class'=>'ClassName', "alias" => "AliasName", 'table'=>'TableName'));

メソッドチェーンを使って呼び出す

$model   = "ModelName";
$results = ClassRegistry::init($model)->find("all");

同じクラス名の別のモデルを呼び出したい

クラス名が同一のモデルが複数あった場合は、前述のtableでテーブル名を指定すれば良い
ただし、aliasが既に呼び出しているクラスと競合すると先に呼ばれているモデルが採用されるので、新しく呼び出したほうは別のaliasを指定する

タイトルとURLをコピーしました