我在app/models/product.php
处拥有此模型:
class Product extends AppModel
{
var $hasAndBelongsToMany = 'WishList';
var $actAs = array('Domainable');
function beforeFind($query)
{
echo "A";
}
}
在app/models/behaviors/Domainable.php
使用此行为:
class DomainableBehavior extends ModelBehavior
{
function beforeFind(&$model, $query)
{
echo "B";
}
}
当我查看产品页面时, A 会被回显,但 B 则不会。我没有错。
我甚至认为行为根本没有加载。
我将Domainable.php
上的文件权限设置为0777
- 仍然无效,因此不是权限问题。
我换了一行:
var $actAs = array('Domainable');
为:
var $actAs = array('does-not-exist');
我没有区别。没错。
首先,我不明白为什么:如果没有加载Behavior,它就不会给我一些错误信息,原因如:“not found”或“access denied”。这应该会产生错误吗?
答案 0 :(得分:6)
var $actAs = array('Domainable');
需要$actsAs
代替 s 。
是的,当你使用正确的变量名时,当它找不到行为时会发出错误。