【发布时间】:2023-03-14 21:10:01
【问题描述】:
我想为列 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);
我应该如何为此编写代码? 提前致谢。
【问题讨论】:
-
$transid = "01".str_pad($fund->id, 5, '0', STR_PAD_LEFT);在这段代码中写 echo $fund->id ;看看你得到了什么??
-
我想你尝试同时插入 id n transid,那么你怎么能得到 $fund->id ...在插入一些值然后获取最后插入的 id n 然后添加 transid 。 ..我认为这是最好的方式
-
我知道我正在尝试同时插入 id 和 transid,实际上这是我的问题。如果我得到最后插入的 id,tansid 的最后一个数字将与 id 不同,对吗? ......我不想那样做,我希望transid的最后一个数字与id具有相同的数字。
-
不,transid n id 将是相同的,你要做的是首先插入所有数据连同 transid...然后立即获取插入的最后一个 id,然后仅更新 transid 或第一次插入除了transid之外的所有数据...然后获取insert的最后一个id,然后只更新transid
标签: php mysql laravel laravel-5