【发布时间】:2017-04-05 10:45:09
【问题描述】:
我需要访问一个类的属性(它是一个 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();
所以函数被调用就好像它是一个静态函数。
【问题讨论】:
-
你能显示调用它的代码吗?