Как получить записи из двух таблиц в laravel или как сопоставить дату со второй таблицей - PullRequest
0 голосов
/ 18 января 2020

Я пытаюсь получить записи из таблицы в Laravel, которая уже связана с другой таблицей

Имя таблицы 1: ProductStock Имя таблицы 2: Продажи связаны с именем таблицы два с использованием столбца user_id.

Я хочу получить записи из таблицы товарных запасов и продаж, где следующие

->whereBetween('created_at', array($thirdweekdata, $fourthweekdata))



          //I have tried this but it only get from ProductStock table..but I want this 
         wherebetween to be from sales table

         $fourth =  ProductStock::where('status',1)
          ->whereBetween('created_at', array($thirdweekdata, $fourthweekdata))
         ->get();

1 Ответ

2 голосов
/ 18 января 2020

Если у вас есть метод отношения с именем sales в ProductStock Model:

    public function sales()
    {
        return $this->hasMany(\App\Sale::class);
    }

использование закрытия with, он вернет product_stocks и их продажи между $thirdweekdata и $fourthweekdata .

ProductStock::where('status', 1)
            ->whereBetween('created_at', array($thirdweekdata, $fourthweekdata))
            ->with(['sales' => function($query) use ($thirdweekdata, $fourthweekdata) {
               $query->whereBetween('created_at', array($thirdweekdata, $fourthweekdata));
            }])->get();
...