我想为transid列创建uniqueID,就像自动增量一样。但我已经有一列id(自动增量)。
列transid应为01000001并自动增量,或遵循列id编号。
这是我的代码
public function insertFund($request,$lender, $ftype, $sign)
{
$fmamt = str_replace(".","",$request->fmamt );
$fdesc = $request->fdesc;
$fdate = $request->fdate;
$trnsfer = $request->file('upload_trnsfer');
$transid = "01".str_pad($fund->id, 5, '0', STR_PAD_LEFT);
if($fdesc == null)
{
$fdesc = '';
}
$fund = $this->fund->create([
'lender_id' => $lender->id,
'transid' => $transid,
'fmamt' => $fmamt,
'refdc' => '',
'ftype' => $ftype,
'sign' => $sign,
'fdesc' => $fdesc,
'fdate' => $fdate,
'fstat' => 'pending'
]);
return $fund;
}
我想,核心问题就在这里。
$transid = "01".str_pad($fund->id, 5, '0', STR_PAD_LEFT);
我应该如何为此编写代码? 提前致谢。
最佳答案
试试这个,希望对你有帮助
$temp_str = '00000000';
最后插入的ID
$obj_fund = Fund::get()->last();
$last_inserted_id = $obj_fund->id;
$temp_index = $last_inserted_id + 1;
$id_length = strlen($temp_index);
$temp_id = substr_replace($temp_str, $last_inserted_id, -$id_length);
你得到00000012
关于php - 根据 id mysql laravel 5 创建 uniqueID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39607590/