如何获得最后插入的ID并使用laravel集合将其插入到第二个表?



这是我第一次遇到这个问题,老实说,我不知道这叫什么。我有一个模块,我需要在第一个表中插入所有的数据,然后插入到第一个表的每个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;

希望这对你有帮助!

相关内容

  • 没有找到相关文章

最新更新