LARAVEL: Как L oop, чтобы получить предыдущие данные для расчета закрытого баланса сегодня - PullRequest
0 голосов
/ 29 апреля 2020

Я ожидаю получить Closed balance вчерашнего дня и использовать его как open balance сегодня, затем я вычислю новый `закрытый баланс сегодня

Мы знаем, что это closed balance= open balance+Inward-outward.

Итак, у меня есть три таблицы products, stocks as Inward and Loadings as Outwards

Я разработал sql query, который выбирает данные вчера и сегодня согласно моему запросу ниже.

      DB::select(DB::raw("SELECT products.id, products.name,  

    (select categories.name from categories where categories.id=products.category_id) as 
   category_name,

  (select ifnull(sum(loadings.qty),0) from loadings where loadings.pid=products.id and 
   DATE(loadings.Outdate)= STR_TO_DATE('04/02/2020','%m/%d/%Y')-1) as total_loadings_yesterday_date ,

    (select ifnull(sum(stocks.qty),0) from stocks where stocks.pid=products.id and 
   DATE(stocks.Indate)=STR_TO_DATE('04/02/2020','%m/%d/%Y')-1) as total_stocks_yesterday_date,

  (select ifnull(sum(stocks.qty),0) from stocks where stocks.pid=products.id and 
  DATE(stocks.Indate)=STR_TO_DATE('04/02/2020','%m/%d/%Y')-1) as total_stocks_specific_date,

(select ifnull(sum(loadings.qty),0) from loadings where loadings.pid=products.id and 
 DATE(loadings.Outdate)= STR_TO_DATE('04/02/2020','%m/%d/%Y')) as total_loadings_specific_date ,

  (select ifnull(sum(stocks.qty),0) from stocks where stocks.pid=products.id and 
 DATE(stocks.Indate)=STR_TO_DATE('04/02/2020','%m/%d/%Y')) as total_stocks_specific_date


  from products"));

Это еще одна sql запрос, который выбирает открытый баланс отдельно, поэтому я хочу присоединиться также, чтобы иметь один запрос, чтобы мы могли перечислить все продукты и их данные в качестве выбранных.

    SELECT id, products.open_stock FROM products where DATE(products.created_at) = 
     STR_TO_DATE('04/02/2020','%m/%d/%Y')-1 ORDER by products.id

после выбора этих данных я вычислить вручную, чтобы получить closed balance of yesterday and closed balance of today

Пример:

Я хочу найти сводную информацию о дате 02/04/2020

, поэтому в моем запросе sql выше я буду получить записи от 01/04/2020 из обеих таблиц и получить закрытое сальдо и принять это сальдо в качестве открытого сальдо 02/04/2020, затем я вычислил новый закрытый сальдо запрошенной даты 02/04/2020

Пример:

Вы хотите закрытый баланс 02/04/2020

`Inward_of_y eesterday = 0 Outward_of вчера = 20 Открытый баланс (начальный_бесс, который я получаю из продуктов) = 100

so Closed balance_of yesterday= 100+0-20= 80

Inward_of_today = 0 Outward_of сегодня = 10

открытый баланс = закрытый баланс вчера = 80

новый баланс закрытия = 80 + 0-10 = 70`

Итак, мой вопрос: как сделать это l oop без неправильного ответа? и объединить эти утверждения в одно?

Спасибо за вашу помощь Заранее

как мы можем заархивировать эту логи c

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...