【问题标题】:Laravel: Get id from database in controller and update dataLaravel:从控制器中的数据库获取 id 并更新数据
【发布时间】: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::transactionscommitrollback。我猜你正在执行多个事务,user orderorder statusinvoice 这些都必须相互绑定。仅获取最后一个 id 或 max id 并不能确定它是否正确。希望这足以理解。 Navratri 快乐。

标签: database laravel laravel-query-builder


【解决方案1】:

您可以使用查询生成器的value 方法,这会很好看:

      $client = DB::table('clients')
         ->where('product_id', '=', $request->get('product'))
         ->value('id');
         $invoice = new Invoice();
         $invoice->total = ($request->get('subscription'))*1.15;
         $invoice->client_id = $client;
         $invoice->save();

或方法查询生成器的First

$client = DB::table('clients')
             ->where('product_id', '=', $request->get('product'))
             ->first();
             $invoice = new Invoice();
             $invoice->total = ($request->get('subscription'))*1.15;
             $invoice->client_id = $client->id;
             $invoice->save();

【讨论】:

    【解决方案2】:

    试试

    $client = DB::table('clients')
                ->where('product_id', '=', $request->get('product'))
                ->first();
     $invoice = new Invoice();
     $invoice->total = ($request->get('subscription'))*1.15;
     $invoice->client_id = $client->id;
     $invoice->save();
    

    【讨论】:

    • 你的答案。先简单而不是获取
    猜你喜欢
    • 2020-08-27
    • 2022-11-21
    • 1970-01-01
    • 2020-08-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多