Hello I am trying to make a company sales report generator but I am stuck. I tried to write the code as below but SQL functions are not working:
public function getMonthlyReport($company, $year)
    {
    $searchYear = New \DateTimeImmutable("$year-01T-01T00:00:00");
    $searchYearEnd = New \DateTimeImmutable("$year-12-31T23:59:59");
    $query = $this->createQueryBuilder('s')
        ->select('SUM(expenses.price)')
        ->select('SUM(s.price)')
        ->select('MONTHNAME(s.created_at)')
        ->leftJoin('s.Expenses', 'expenses')
        ->andWhere('s.Company = :company')
        ->setParameter('company', $company)
        ->andWhere('s.created_at BETWEEN  :startDate AND :endDate')
        ->setParameter('startDate ', $searchYear)
        ->setParameter('endDate', $searchYearEnd);
    return $query
        ->getQuery()
        ->getResult();
}
I want a result as below:
Month       Sales     Expenses
January     1250      0
February    10000     54879
March       0         4578
April       54000     44567
May         7854      2135
June        6399      8000
July        0         0
August      128000    1200
September   128000    1200
October     128000    1200
November    128000    1200
December    128000    1200
Appreciate your helps, Regards
EDIT 1: I have written a SQL query as below but it's only fetching if there is a record on that month(0 if no record presents in that month) and I couldn't execute it in Symfony due to SUM and MONTHNAME functions
SELECT SUM(expenses.price), SUM(sales.price), MONTHNAME(sales.created_at) FROM sales left join expenses On expenses.sales_id = sales.sales_id WHERE 1 GROUP BY MONTHNAME(sales.created_at) ORDER BY sales.created_at ASC;
Result:
Month       Sales     Expenses
November    1650000   5275000
February    2750000   10550000
April       21450000  79125000
March       4950000   15825000
