使用Yii2中的模型值设置日期函数

时间:2016-01-20 07:58:42

标签: php date model controller yii2

嗨我有功能,我需要从下拉列表中获取值(在3个下拉列表中,我有年,月,日,如在Facebook注册)。我想从这3个值中设置日期。

public function setDate()
{
   $month=$this->month+1;
   $date = date_create();
   date_date_set($date, $this->year,$month, $this->day);
   return date_format($date, 'Y-m-d');

}

然后在我的控制器中我想保存我的日期,但它不起作用。

 if ($model->load(Yii::$app->request->post()) && $model->validate()) {
        $model->setDate();
        $model->save();

我可以使用哪种日期方法进行此操作,我可以在参数中给出我的值?

我也尝试这种方法

public function setDate()
{
   $month=$this->month+1;
   $date = new DateTime();
   $date ->setDate($this->year,$month, $this->day);
   return $date->format('Y-m-d');

}

但我有

Argument 1 passed to Faker\Provider\Base::__construct() must be an instance of Faker\Generator, none given, called in E:\htdocs\mesport\frontend\modules\settings\models\Profile.php on line 119 and defined

1 个答案:

答案 0 :(得分:0)

在自定义方法中,您实际上并未更改模型属性值。假设此方法位于模型内部,请将返回行替换为:

$this->yourDateAttribute = ...;

同时确保此属性在当前场景中是安全的。