SELECT *, (
SELECT count(id) FROM order_history oh
WHERE oh.refund_of = oh1.id
) "refunds"
FROM order_history oh1
WHERE `object_name`
NOT LIKE '%refund%'
我需要在不使用Db :: raw
的情况下将其转化为雄辩答案 0 :(得分:1)
您应该可以使用方法select()
或addSelect()
添加子选择查询,如图所示here。
示例:
select(DB::raw(count(id) FROM order_history oh WHERE oh.refund_of = oh1.id))
注意:“这些表达式将作为字符串注入到查询中,因此请注意不要创建任何SQL注入点!”