Laravel: получить идентификатор из базы данных в контроллере и обновить данные - PullRequest
0 голосов
/ 17 октября 2018

Мне нужно получить идентификатор от $ client и отправить идентификатор, чтобы вставить его в базу данных.

 $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?

Ответы [ 2 ]

0 голосов
/ 17 октября 2018

Вы можете использовать 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();
0 голосов
/ 17 октября 2018

попробуй

$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();
...