我如何将此查询(postgresql)转换为 laravel eloquent
How can i convert this query(postgresql) to laravel eloquent
我想将下面的 postgresql
代码转换为 laravel eloquent
select s2.itemdesc,
to_char(date_trunc('month', saledate), 'YYYY') AS year,
to_char(date_trunc('month', saledate), 'Month') AS month,
to_char(date_trunc('month', saledate), 'MM') AS month_number,
sum(qty) AS qty1
from sale s left join saled s2 on s.saleno = s2.saleno
GROUP BY s2.itemdesc, date_trunc('month', saledate)
order by s2.itemdesc desc and month desc
我试过在 Postgresql 管理器中查询及其工作。但是我在转换为 Laravel eloquent
时失败了
DB::query()
returns 查询生成器的实例。
从那个实例开始,您可以将要 select 的列列为使用 select()
的逗号分隔参数。
对于计算列或聚合列,传递 DB::raw(expression)
而不是原始表达式有效。另一种方法是将所有内容作为单个参数传递给 selectRaw
也是一种选择。
select 主要 table 有两种方法:查询生成器的 from(table, alias)
方法。别名参数是可选的。 table 参数可以是字符串或子查询 table 的闭包。 DB::table(table, alias)
也有效。它在功能上与 DB::query()->from(table, alias)
.
相同
groupBy()
/groupByRaw()
用于按列分组。
orderBy()
/orderByRaw()
用于按列排序。
DB::query()
->select(
's2.itemdesc',
DB::raw("to_char(date_trunc('month', saledate), 'YYYY') AS year"),
DB::raw("to_char(date_trunc('month', saledate), 'Month') AS month"),
DB::raw("to_char(date_trunc('month', saledate), 'MM') AS month_number"),
DB::raw("sum(qty) AS qty1")
)
->from('sale', 's')
->leftJoin('saled s2', 's.saleno', 's2.saleno')
->groupByRaw("s2.itemdesc, date_trunc('month', saledate)")
->orderByRaw("s2.itemdesc desc, month desc")
->get();
Eloquent 模型的工作方式相同。
Sale::query()->...
我想将下面的 postgresql
代码转换为 laravel eloquent
select s2.itemdesc,
to_char(date_trunc('month', saledate), 'YYYY') AS year,
to_char(date_trunc('month', saledate), 'Month') AS month,
to_char(date_trunc('month', saledate), 'MM') AS month_number,
sum(qty) AS qty1
from sale s left join saled s2 on s.saleno = s2.saleno
GROUP BY s2.itemdesc, date_trunc('month', saledate)
order by s2.itemdesc desc and month desc
我试过在 Postgresql 管理器中查询及其工作。但是我在转换为 Laravel eloquent
DB::query()
returns 查询生成器的实例。
从那个实例开始,您可以将要 select 的列列为使用 select()
的逗号分隔参数。
对于计算列或聚合列,传递 DB::raw(expression)
而不是原始表达式有效。另一种方法是将所有内容作为单个参数传递给 selectRaw
也是一种选择。
select 主要 table 有两种方法:查询生成器的 from(table, alias)
方法。别名参数是可选的。 table 参数可以是字符串或子查询 table 的闭包。 DB::table(table, alias)
也有效。它在功能上与 DB::query()->from(table, alias)
.
groupBy()
/groupByRaw()
用于按列分组。
orderBy()
/orderByRaw()
用于按列排序。
DB::query()
->select(
's2.itemdesc',
DB::raw("to_char(date_trunc('month', saledate), 'YYYY') AS year"),
DB::raw("to_char(date_trunc('month', saledate), 'Month') AS month"),
DB::raw("to_char(date_trunc('month', saledate), 'MM') AS month_number"),
DB::raw("sum(qty) AS qty1")
)
->from('sale', 's')
->leftJoin('saled s2', 's.saleno', 's2.saleno')
->groupByRaw("s2.itemdesc, date_trunc('month', saledate)")
->orderByRaw("s2.itemdesc desc, month desc")
->get();
Eloquent 模型的工作方式相同。
Sale::query()->...