php - 调用未定义的方法 app\models\etc.. Yii2
问题描述
我有个问题。我不明白错误来自哪里。抱歉,我是新的 Yii2 开发人员。
这在我的控制器代码中:
public function getIcons($status_id)
{
$model = Orders::findOne($status_id);
$days = getWorkingDays($model->update_at,date());
$alert = 0; //spunta
if (($model->status_id == 2) && ($days >= 2)) $alert=1; //giallo
if (($model->status_id == 3) && ($days >= 2)) $alert=1;
if (($model->status_id == 4) && ($days >= 10)) $alert=1;
if (($model->status_id == 5) && ($days >= 7)) $alert=1;
if (($model->status_id == 5) && ($days >= 12)) $alert=2; //teschio
if (($model->status_id == 6) && ($days >= 10)) $alert=1;
if (($model->status_id == 7) && ($days >= 8)) $alert=1;
if (($model->status_id == 9) && ($days >= 5)) $alert=1;
if (($model->status_id == 9) && ($days >= 10)) $alert=2;
if($alert = 0) $icons='check'; //spunta
if($alert = 1) $icons='fa fa-exclamation'; //esclamativo
if($alert = 2) $icons='bs-skull info-button-black';
if($model->blocked = 1 && $model->paused = 1) $icons="dollar-sign"; //dollaro
if($model->blocked = 1 && $model->paused = 0) $icons="dollar-sign";
if($model->blocked = 0 && $model->paused = 1) $icons="dollar-sign";
if ($model->save()) Helper::add_history(null, null, $obj_id, '', 'Update', 'Done', 0, 0, 'Order', 1, 0, '');
return $this->redirect(['index']);
}
这是在视图/索引中:
<?= $icon = Orders::getIcons($order->status_id)?>
<?=
Html::a('<i class="fa fa-'.$icon.'"></i>', ['index', 'id' => $order-
>id], [
'class' => 'btn btn-warning',
]);
?>
在视图中,我必须更新状态,并且更新会更改图标。
这是我得到的错误:
调用未定义的方法 backend\models\Orders::getIcons()
解决方案
您正在尝试调用静态函数!在函数 getIcons() 的定义中添加静态关键字
推荐阅读
- python - 遍历列表并比较值
- jquery - 如何存储 html 元素并将其呈现在另一个视图中?
- flutter - Flutter:类中的列表继承
- javascript - 从钩子函数的返回中添加到 React 状态数组
- visual-studio - Visual Studio 引用搜索返回重复的结果
- python - 如何将复数分配给numpy数组
- python - python中列的增量值
- typescript - 在实现 express-validator 命令式验证时,正确的验证类型是什么?
- c++ - 静态成员函数使用相同名称时模板类型名称错误
- python - 在 Python 中使用特征值约束优化目标函数