モデルにアタッチされたビヘイビアがあり、モデルのプロパティに応じて異なるビヘイビアを実行する必要があります。例:
class Airplane extends AppModel {
var $actsAs = array('Flying');
}
class FlyingBehavior extends ModelBehavior {
function flightTime(&$Model, $distance) {
return $distance / $this->speed;
}
}
当初は次のように設定したいと思いました
class Airplane extends AppModel {
var $actsAs = array('Flying' =>
array('speed' => SOMENUM)
);
}
class FlyingBehavior extends ModelBehavior {
function setup(&$Model, $settings) {
$this->speed = $settings['speed'];
}
function flightTime(&$Model, $distance) {
return $distance / $this->speed;
}
}
ただし、各レコードspeed
から列をフェッチする必要があるため、これを機能させる方法がわかりません。Airplane
これはどのようにすればよいですか?