我有一个带有属性id,name,创建的“BTeam”模型类。我用Gii生成了这个。
我添加了“TimestampBehavior”,它在模型创建期间使用当前时间戳填充“已创建”字段。
如何从“添加”页面中删除该字段:
我的BTeam课程:
<?php
namespace app\models;
use Yii;
use yii\db\ActiveRecord;
class BTeam extends \yii\db\ActiveRecord
{
/**
* @inheritdoc
*/
public static function tableName()
{
return 'b_team';
}
/**
* @inheritdoc
*/
public function rules()
{
return [
[['name'], 'required'],
[['created'], 'safe'],
[['name'], 'string', 'max' => 200]
];
}
public function behaviors() {
return [
'timestamp' => [
'class' => 'yii\behaviors\TimestampBehavior',
'attributes' => [
ActiveRecord::EVENT_BEFORE_INSERT => ['created']
]
]
];
}
/**
* @inheritdoc
*/
public function attributeLabels()
{
return [
'id' => 'ID',
'name' => 'Name',
'created' => 'Created',
];
}
}
答案 0 :(得分:2)
只需从控制器的视图中删除它即可。在规则中它是安全的,所以应该没问题。
答案 1 :(得分:0)
您还可以使用gii(Apply Overwrite)
将此函数添加到模型并生成CRUDpublic function safeAttributes ( ){
return [
'id' ,
'name' ,
];
}
此方法必须返回在create / add页面中显示字段所需的唯一字段(由gii生成)。