我在yii2中遇到了这个非常奇怪的问题,
public function actionUpdate($draftId) {
$model = $this->findModel($draftId);
// $model->product_title = \filter_var(\trim($_POST['product_title']), \FILTER_SANITIZE_STRING,\FILTER_FLAG_NO_ENCODE_QUOTES);
$model->product_title;
$model->updated_at = \time();
$model->unit_price = "6666";
//echo $model->updated_at;
//exit();
if ($model->save()) {
echo "success";
} else {
echo "fail";
}
}
在我的模型中,我有这个
class Draft extends \yii\db\ActiveRecord
{
public $created_at;
public $updated_at;
/**
* @inheritdoc
*/
public static function tableName()
{
return 'draft';
}
/**
* @inheritdoc
*/
我的模型
中没有规则集现在,如果我尝试将此保存在数据库中,则只有$ model-> updated_at不会被保存, 我试图回应结果,我得到了预期的时间戳,但它不会保存在数据库中,我尝试检查列类型,它是在INT,所以它应该没有任何问题,但它仍然有,任何人都可以帮我这个
答案 0 :(得分:0)
删除
public $created_at;
public $updated_at;
从模型类公共属性中,因为它们将被视为非保存属性。
然后保存模型。
如果您收到错误请发布,以便我们检查模型是否存在其他问题。
所以最终的代码是:
class Draft extends \yii\db\ActiveRecord
{
/**
* @inheritdoc
*/
public static function tableName()
{
return 'draft';
}
/**
* @inheritdoc
*/
但我建议你使用 RULES 来模型过滤和验证数据