/**
* Generate Random number and check if it is exist or not
*/
public function checkAndGenerateRandomNumber($customerId) {
$number = sprintf("%04s", rand(1,9999));
$response = ClassRegistry::init('Department')->find('first', array('conditions' => array('Department.customer_id' => $customerId, 'Department.code' => $number)));
if(isset($response) && !empty($response)) {
$this->checkAndGenerateRandomNumber($customerId);
} else {
return $number;
}
}
function new_id($num) {
$num++;
// * Code to save new number value in file or database
return 'HPSEMP' . sprintf("%03d", $num++);
}
// * Code to retrieve id number from file or database and store it to $num
// * $num = previously stored id number
$new_id = new_id($num);
2条答案
按热度按时间lmvvr0a81#
您可以创建递归函数来生成随机数,如果数据库中有可用的随机数,也会在数据库中检查该随机数。
在我的示例中,我使用以下代码为客户创建了不同的随机departmentCode:
nszi6y052#
我是一个初学者,但我已经尝试了这个方法,它很有效:
函数调用示例:
输出量:
或者,如果您想将代码保存在数据库或文件中,我还没有尝试过这种方法,但它应该可以工作: