如何获取表单字段的值并将其传递给另一个表单字段

How to get value of form field and past it to another form field

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

1-start_date(员工入职时)

2- leavestaken(员工之前请假多少天)。

3- leaves(员工可休假的天数)等于=(当前日期和start_date之间的月数)* 2.5(因为每个月有 2.5 天的假期)- leavestaken

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

我正在使用 sql,这仅适用于服务器端

服务器端: 如果你的 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来计算

我的解决方案是

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();