如何获取表单字段的值并将其传递给另一个表单字段
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();
我正在开发人力资源系统,我想计算员工可以休多少天。 在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();