想把 model层没有的数据想渲染到前台页面

YII 框架的表单小部件,包含的都是 数据库里面有的字段,如果没有,你又用了小部件,把随便定义的变量,写在里面,就会报错,说是变量没定义。

类似于这样:

<div class="col-md-4">
<?= $form->field($model, 'ban')->label('经常访问板块')->textInput(['disabled' => '']) ?>
</div>

$ban 是数据库没有的字段。

既然非常想在<?= $form ... ?> 用这个变量,可以这样解决

找到这个$model 模型实例那个数据库,他继承的父类是那个,直到这个 class *** extends
yiidbActiveRecord

在该类下面定义 public $ban; 然后再在该类的规则rule()中,约束一下。

在Controller层, 就可以调用了 $model->ban = @@@


然后 渲染到前端就行了。
原文地址:https://www.cnblogs.com/wangshuazi/p/9642452.html