Данные запроса laravel - PullRequest
       6

Данные запроса laravel

0 голосов
/ 01 апреля 2020

Я хочу знать, как заставить это работать в laravel:

У меня есть две таблицы: "orders" и "delivery_boys".

Когда создается заказ, я хочу получить "id" в таблице "delivery_boys", которые соответствуют "store_id" в таблице "order".

, который выглядит так в mysql SELECT `id` FROM `delivery_boys` WHERE store_id = '3'

Спасибо за вашу помощь.

Я использую эту функцию:

 protected $table = 'orders';

   public function addNew($data)
   {
      $user                = AppUser::find($data['user_id']);


      if(isset($data['address']) && $data['address'] > 0)
      {
          $address = Address::find($data['address']);
      }
      else
      {
          $address = new Address;

      }

      $add                 = new Order;
      $add->user_id        = $data['user_id'];
      $add->store_id       = $this->getStore($data['cart_no']);
      $add->d_boy          = $add->?????;  <---- here i want to add from "delivery_boys" table the "id" that correspond to the "store_id" added just above from the "order" table ---->

      $add->name           = $user->name;
      $add->email          = $user->email;
      $add->phone          = $user->phone;
      $add->address        = $address->address;
      $add->lat            = $address->lat;
      $add->lng            = $address->lng;
      $add->address        = $address->address;
      $add->d_charges      = $this->getTotal($data['cart_no'])['d_charges'];
      $add->discount       = $this->getTotal($data['cart_no'])['discount'];
      $add->total          = $this->getTotal($data['cart_no'])['total'];
      $add->payment_method = $data['payment'];
      $add->payment_id     = isset($data['payment_id']) ? $data['payment_id'] : 0;
      $add->type           = isset($data['otype']) ? $data['otype'] : 1;
      $add->notes          = isset($data['notes']) ? $data['notes'] : null;
      $add->save();

Ответы [ 2 ]

0 голосов
/ 01 апреля 2020

запустите это до $ add = new Order;

$d_boy = DB::table('delivery_boys')
->select('id')
->where('store_id', $this->getStore($data['cart_no']))
->first();

и затем добавьте его туда, где вам нужно:

$add->d_boy = $d_boy->id;
0 голосов
/ 01 апреля 2020
$id= DB::table('delivery_boys')->select('id')->where('store_id', '=', $this->getStore($data['cart_no']))->get();
...