$这个得到未知的属性yii控制台

时间:2017-04-05 10:45:09

标签: php yii yii2

我需要访问一个类的属性(这是一个Yii2模型),但当我在使用此代码调用的该类的函数中引用$ this-> expires_on时:

$int::createNextDate();

($ int是加载的yii模型)

我收到此错误:

Exception 'yii\base\UnknownPropertyException' with message 'Getting unknown property: app\commands\DailyCronController::expires_on'

所以基本上php会查找控制器内的属性。 我该如何访问该模型的属性呢?

编辑:这里是完整的代码

这是命令行使用的控制器的一部分

        $assistanceTasks = \app\models\AssistanceTask::find()->all();
        foreach($assistanceTasks as $task){
            $task::createNextDate();
        }

这是模型AssistanceTask中的函数

class AssistanceTask extends \yii\db\ActiveRecord{
...
public function createNextDate(){

    if(!$this->expires_on){
        return "Error....";
    }

但显然" $ this"

存在问题

最终编辑: 正如Patryk指出的那样,问题在于我使用了

$int::createNextDate();

而不是

$int->createNextDate();

所以函数被调用就好像它是一个静态函数。

2 个答案:

答案 0 :(得分:0)

您并非尝试在expires_on

上调用DailyCronController而不是模型

答案 1 :(得分:0)

如果您有可用的填充模型,那么它应该像

一样简单
$model->expires_on;

或在你的情况下

$int->expires_on;

然而,没有看到整个代码真的很难说。