Сравнение значений в модели CakePHP
Извините, я еще новичок в CakePHP. Что я хочу сделать пользовательскую функцию для сравнения между 2 значениями, но я хочу отправить значения в качестве параметров функции.
вот моя модель:
<?php
App::uses('AppModel', 'Model');
class PayGrade extends AppModel
{
public $displayField = 'id';
public $validate = array(
'id' => array(
'notEmpty' => array(
'rule' => array('notEmpty'),
),
'uuid' => array(
'rule' => array('uuid'),
),
'numeric' => array(
'rule' => array('numeric'),
),
),
'Salary_max' => array(
'numeric' => array(
'rule' => array('numeric'),
),
'notEmpty' => array(
'rule' => array('notEmpty'),
),
),
'Salary_min' => array(
'numeric' => array(
'rule' => array('numeric'),
),
'notEmpty' => array(
'rule' => array('notEmpty'),
),
),
'Currency' => array(
'notEmpty' => array(
'rule' => array('notEmpty'),
),
),
'eval_pts_from' => array(
'numeric' => array(
'rule' => array('numeric'),
),
'notEmpty' => array(
'rule' => array('notEmpty'),
),
),
'eval_pts_to' => array(
'numeric' => array(
'rule' => array('numeric'),
),
'notEmpty' => array(
'rule' => array('notEmpty'),
),
),
);
function compareVals($min,$max)
{
if($min >= $max)
{
return false;
}
else
{
return true;
}
}
public $hasMany = array(
'Jobs_levels' => array(
'className' => 'Jobs_levels',
'foreignKey' => 'Pay_grades_id',
'dependent' => false,
'conditions' => '',
'fields' => '',
'order' => '',
'limit' => '',
'offset' => '',
'exclusive' => '',
'finderQuery' => '',
'counterQuery' => ''
)
);
}
Я хочу сравнить (eval_pts_to с eval_pts_from) и (Salary_max с Salary_min). Я искал, но нашел некоторые функции, которые вызывают переменные изнутри функции, что означает, что мне нужно будет создать 2 функции, одну для eval_points, а другую для зарплаты
заранее спасибо
1 ответ
Решение
Некоторый код может объяснить Вам:
public function validationComparisonField($check, $other_field) {
if ($this->data[$this->alias][$other_field] > $check[key($check)])) {
return true; // passed
}
return false; // not passed
}
Вы всегда можете получить данные от $this->data
Правила валидации:
'Salary_max' => array(
'numeric' => array(
'rule' => array('validationComparisonField', 'salary_min'),
),