如何获取表单域的值并将其粘贴到另一个表单域中

问题描述 投票:0回答:2

我正在开发人力资源系统,我想计算员工可以休多少天。在HR表中,我具有三个属性。

1-开始日期(当雇员开始在公司工作时。

2-休假(该员工之前休了多少天)。

[3-休假(员工可休假的天数)等于=(当前日期和开始日期之间的月份)* 2.5(因为每个月休假2.5天)-休假

第三属性是自动的,而不是来自用户的,我如何从字段表单中获取第一和第二属性值,如何在计算中使用它们并将结果保存在leaves属性中?

我正在使用sql,并且仅用于服务器端

yii yii2
2个回答
0
投票

服务器端:如果您的start_date是unix时间戳:

  if ($model->load(Yii::$app->request->post())) {

      n_month = (time() -  $model->leaves) / (30 * 24 * 60 * 60);
      $model->leaves = ceil(n_month * 2.5) - $model->leavestaken;
      # code...

      //ceil : Because one day off is not complete, Rounds a number down to the nearest integer

但是如果不是unix,则可以使用date_diff()方法或...您可以在模型文件中的beforeSave或beforeValidate方法中执行此操作。您可以使用JavaScript来计算客户端。


0
投票

我的解决方法是

if ($model->load(Yii::$app->request->post())  ) {

       $date = date('m/d/Y');

     $datetime1 = date_create($date); 
     $datetime2 = date_create($model->start_date); 

     // calculates the difference between DateTime objects 
     $interval = $datetime2->diff($datetime1);
     $n_month= $interval->m + 12*$interval->y;
     $model->leaves = ceil($n_month * 2.5) - $model->leavestaken;


        $model->save();
© www.soinside.com 2019 - 2024. All rights reserved.