这是我第一次遇到这个问题,老实说,我不知道这叫什么。我有一个模块,我需要在第一个表中插入所有的数据,然后插入到第一个表的每个id,我要得到它,然后将其插入到第二个表。向第二个表插入id的目的是为了表之间的关系。现在我使用laravel作为后端,并使用transform方法插入每个数据。
现在这里的主要问题是如何将每个最后插入的Id插入到第一个表并将其插入到第二个表。
下面是我插入到第一个表中的数据:
$collection = $rows->transform(function($item) use ($start,$cash_amount, $bank_deposit_amount, $off_set_amount, $grand_total) {
unset($item["key"]);
$item["checkDate"] = ($item["checkDate"] != '') ? $item["checkDate"] : null;
$item['encoded_by'] = ($item['customer'] != '') ? Auth::user()->name : '';
$item['receive_date'] = ($item['customer'] != '') ? $start : null;
$item['status'] = ($item['customer'] != '') ? "exchange_check" : '';
$item['amount'] = ($item['amount'] != '') ? floatval(preg_replace('/[^d.]/', '', $item['amount'])) : '';
$item["original_date"] = $item["checkDate"];
$item['cash'] = $cash_amount;
$item['bank_deposit'] = $bank_deposit_amount;
$item['offset'] = $off_set_amount;
$item['grand_total'] = $grand_total;
return $item;
});
ExchangeCheck::insert($collection->toArray());
对于第二个表,我使用此模型使用AppExchangeList;
,该模型用于插入ExchangeCheck模型中的所有ID:
这是可能的,我可以插入每个ID的交换检查到交换列表?
谢谢。
在将数据插入表时,使用insertGetId
代替insert
,并将结果注入变量中以检索id
。
试试这样写:
$lastIDinserted = ExchangeCheck::insertGetId($collection->toArray());
否则你可以使用这个方法:
$lastIDinserted2 = ExchangeCheck::select('id')->orderByDesc('id')->first();
// OR
$lastIDinserted2 = ExchangeCheck::latest('id')->first();
和检索您的id
,执行:
$lastIDinserted2 = $lastIDinserted2->id;
希望这对你有帮助!