У меня есть campaign_report
таблица, подобная этой
Schema::create('campaign_report', function (Blueprint $table) {
$table->bigIncrements('id');
$table->date('report_date');
$table->bigInteger('user_id');
$table->bigInteger('campaignId');
$table->double('cost',12,2);
$table->timestamps();
});
Я пытаюсь получить все отчеты о вчерашних кампаниях.
$campaignReports = CampaignReport::where(['report_date' => "$yesterday", 'user_id' => Auth::user()->id])->orderBy('report_date', 'desc')->paginate(25);
Приведенный выше запрос возвращает все кампании, где report_date равен $ вчера.
Наряду с этим запросом я также хочу получить значение cost
каждой кампании, где report_date
- это позавчерашний день, соответствующий столбцу campaignId
. Я хочу показать разницу в cost
между вчерашними и позавчерашними кампаниями.
подобно
foreach($campaignReports as $campaignReport)
{
$difference = $campaignReport->cost - $campaignReport->dayBeforeYesterdayCost;
}
Может ли кто-нибудь помочь мне в создании этого запроса с помощью Query Builder или Eloquent?