Сравнение значений в модели 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'),
        ),
Другие вопросы по тегам