使用$ this->别名

时间:2016-01-05 09:13:26

标签: cakephp-2.0

有人能告诉我在cakephp中$this->alias做什么或意味着什么?

3 个答案:

答案 0 :(得分:5)

$this->alias是您模型的名称。例如,如果您有一个名为User的模型,$this->alias将等于'User'

答案 1 :(得分:0)

对于另一个答案,Cake模型具有属性$ this-> name,这是模型的名称。 $ this-> alias通常是相同的值,但在某些情况下它是不同的,例如:

class MyModel extends AppModel {

    $hasOne = [
        'OtherModelAlias' => [
            'className' => 'OtherModel'
        ]
    ];
}

当从MyModel类处理此关联模型Ot​​herModel时,您可以通过$ this-> OtherModelAlias来引用它。 $this->OtherModelAlias->alias的值是' OtherModelAlias',但$this->OtherModelAlias->name是' OtherModel'

答案 2 :(得分:0)

当我们在模型本身中编写一些代码时,我们使用$ this->别名。例如,如果我们在表单提交后尝试访问数据,

型号:User.php

$ this-> data [$ this-> alias] [“email”] --------------(1)

Controller:UsersController.php

$ this-> request-> data [“Users”] [“email”] ----------------(2)

(1)和(2)都表示在表单中提交的电子邮件字段相同。

注意:$ this->数据[$ this-> alias] [“email”]与$ this-> data [“User”] [“email”]相同,但如果我们关注则更好前者并坚持CakePHP惯例。比抱歉更安全! :)

和平! xD