【发布时间】:2019-03-21 22:35:06
【问题描述】:
我需要从 $client 获取 id 并将其发送到数据库中。
$client = DB::table('clients')->where('product_id', '=', $request->get('product'))->get();
$invoice = new Invoice();
$invoice->total = ($request->get('subscription'))*1.15;
$invoice->client_id = //get id from $client;
$invoice->save();
$client = [{"id":23,"name":"testname","product_id":678}]
有人知道如何从 $client 获取 id 吗?
【问题讨论】:
-
您总是试图为同一产品的第一个客户生成发票。让我们考虑一下场景
$client = [{"id":23,"name":"testname","product_id":678},{"id":24,"name":"testname2","product_id":678}] -
感谢您的指点。你怎么能得到最后插入的ID。现在它给出了第一个 id 表示“id”=23
-
您可以从客户端表中获取最大 id,但它也不受限制。你必须改变其他方式。
-
你是什么意思?
-
我的意思是你已经确保所有的事务都工作,如果没有,那么没有一个将执行你可以使用
DB::transactions到commit和rollback。我猜你正在执行多个事务,user order、order status、invoice这些都必须相互绑定。仅获取最后一个 id 或 max id 并不能确定它是否正确。希望这足以理解。 Navratri 快乐。
标签: database laravel laravel-query-builder