我需要访问一个类的属性(这是一个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();
所以函数被调用就好像它是一个静态函数。
答案 0 :(得分:0)
您并非尝试在expires_on
DailyCronController
而不是模型
答案 1 :(得分:0)
如果您有可用的填充模型,那么它应该像
一样简单$model->expires_on;
或在你的情况下
$int->expires_on;
然而,没有看到整个代码真的很难说。