php - Bagaimanakah medan dalam ActiveForm dalam masa keluaran YII2 dan bukannya cap waktu?
漂亮男人
漂亮男人 2017-05-16 12:57:56
0
1
569

<?= $form->field($model, 'masa')->textInput() ?>

Soalan 1:
Masa saya adalah cap masa dalam pangkalan data Apa yang saya ingin paparkan sekarang ialah bagaimana untuk menanganinya?

Soalan 2:
Saya mengisi rentetan seperti 2017-05-13 dalam borang tarikh ini Apakah kaedah yang boleh ditulis dalam model untuk menukarnya secara automatik kepada cap waktu?

漂亮男人
漂亮男人

membalas semua(1)
刘奇
class XXX extends \yii\db\ActiveRecord
{
    public function rules()
    {
        return [
        
            ...other rules...
            
            ['time', function($attr, $params) {
                if ($this->hasErrors()) return false;

                $datetime = $this->{$attr};
                
                $time = strtotime($datetime);
                // 验证时间格式是否正确
                if ($time === false) {
                    $this->addError($attr, '时间格式错误.');
                    return false;
                }
                // 将转换为时间戳后的时间赋值给time属性
                $this->{$attr} = $time;
                return true;
            }],
        ];
    }

    ...others...
    
    /**
     * 从数据库中 find() 数据后将 time 格式化。
     */
    public function afterFind()
    {
        parent::afterFind();
        $this->time = date('Y-m-d', $this->time);
    }
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan