Laravel: 从controller中的数据库获取id并更新数据

Laravel: Get id from database in controller and update data

我需要从 $client 获取 id 并发送 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 = 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();

您可以使用查询生成器的 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();