如何将SQL转换为Laravel查询

如何将SQL转换为Laravel查询,sql,laravel,eloquent,query-builder,laravel-query-builder,Sql,Laravel,Eloquent,Query Builder,Laravel Query Builder,我想用下面这样的别名列构建一些东西,但我不知道如何使其成为Laravel查询。下面是我的SQL 选择 d、 *, d、 损坏的![2]楼,, d、 受害者总数 从…起 选择 删除_flg, 损坏识别码, 创造时间, 注册用户名称, 市政府, 报告时间:, 地区 村庄 灾害类型, 造成灾难的原因, bd_大损伤1+bd_小损伤1+bd_大损伤2+bd_小损伤2+bd_大损伤3+bd_小损伤3 作为一座受损的建筑, hi_hd_死亡+hi_hd_重伤+hi_hd_轻伤+hi_hd_失踪人员+hi_h

我想用下面这样的别名列构建一些东西,但我不知道如何使其成为Laravel查询。下面是我的SQL

选择 d、 *, d、 损坏的![2]楼,, d、 受害者总数 从…起 选择 删除_flg, 损坏识别码, 创造时间, 注册用户名称, 市政府, 报告时间:, 地区 村庄 灾害类型, 造成灾难的原因, bd_大损伤1+bd_小损伤1+bd_大损伤2+bd_小损伤2+bd_大损伤3+bd_小损伤3 作为一座受损的建筑, hi_hd_死亡+hi_hd_重伤+hi_hd_轻伤+hi_hd_失踪人员+hi_hd_生病人员 作为总受害者 从…起 d_损坏 哪里 删除\u flg=0 订购人 创建时间描述 D
我想把它翻译成Laravel Query Builder的雄辩版本,以便在我的控制器中使用。

如果我是你,你只要坚持学习SQL查询,因为你可以把它带到任何地方,你就可以学习很多框架/工具,而不是把时间花在Laravel上。无论如何,您仍然可以使用原始表达式在laravel中使用sql查询:

您可以尝试使用此方法

DB::table('d_damage')
->where('delete_flg',0)
->orderBy('create_time', 'desc')
->select('delete_flg', 'damage_id', 'create_time', 'reg_user_name', 'municipality_id', 'report_time', 'district', 'village', 'disaster_type', 'cause_of_disaster',DB::raw('(bd_major_damage1 + bd_minor_damage1 + bd_major_damage2 + bd_minor_damage2 + bd_major_damage3 + bd_minor_damage3) as damaged_building'),DB::raw('(hi_hd_deaths + hi_hd_serious_injuries + hi_hd_minor_injuries + hi_hd_missing_persons + hi_hd_sick_persons) as total_victim'))
->get();

这可能不完全正确,但几乎是

为什么在没有任何外部条件的情况下使用子查询?谢谢,我已经知道了。我使用了基于tabel d'damage'的视图。谢谢你的回答!