在 Yii 2.0 中,报错:”Calling unknown method: api\modules\v1\models\PlanTask::claimProcess()” 的分析解决

1、在 Yii 2.0 中,报错:”Calling unknown method: api\modules\v1\models\PlanTask::claimProcess()”,如图1

图1

2、查看 \api\modules\v1\models\PlanTask.php 文件,代码如下

<?php

namespace api\modules\v1\models;

class PlanTask extends \api\models\PlanTask
{
    /**
     * {@inheritdoc}
     * @return PlanTaskQuery the active query used by this AR class.
     */    public static function find()
    {
        return new PlanTaskQuery(get_called_class());
    }
}

3、查看 \common\logics\PlanTask.php 文件,方法 claimProcess 被定义为 private (私有) 的,则只能被其定义所在的类访问。代码如下

private function claimProcess(PlanTask $planTask, PlanTaskStep $planTaskStep)
    {
 }

4、现在方法 claimProcess 需要被其子类的子类访问,将其定义为 protected (受保护) 的,则可以被其自身以及其子类和父类访问。代码如下

protected function claimProcess(PlanTask $planTask, PlanTaskStep $planTaskStep)
    {
 }

5、报错已经得到解决,如图2

图2

永夜