Php 此行查询工作正常,请帮助更改它雄辩的查询

Php 此行查询工作正常,请帮助更改它雄辩的查询,php,laravel,Php,Laravel,我会这样做: DB::table('foduu_listing')->select('foduu_listing.id`,foduu_listing_filedetail.primary,foduu_listing.name,foduu_listing.filemanager_id,foduu_filemanager.filepath,foduu_detail_orders.listing_id')) ->leftJoin('foduu_detail_orders'、'foduu_listing

我会这样做:

DB::table('foduu_listing')->select('foduu_listing.id`,foduu_listing_filedetail.primary,foduu_listing.name,foduu_listing.filemanager_id,foduu_filemanager.filepath,foduu_detail_orders.listing_id'))
->leftJoin('foduu_detail_orders'、'foduu_listing.id'、'='、'foduu_detail_orders.listing_id')
->leftJoin('foduu_listing_filedetail'、'foduu_listing.id'、'='、'foduu_listing_filedetail.listing_id')
->leftJoin('foduu\u filemanager'、'foduu\u listing.filemanager\u id'、'='、'foduu\u filemanager.id')
->选择RAW('COUNT('foduu\u detail\u orders`.'listing\u id`)作为计数')
->选择原始('SUM('foduu\u detail\u orders`.'total`)作为总计')
->其中('foduu\u detail\u orders.listing\u id',593)
->get();
如果不是在末尾调用get,而是调用
toSql
,则可以检查生成的查询:

选择'foduu'listing`.'id`,foduu'listing'u filedetail`.'primary,foduu'listing`.'name,foduu'listing`.'filemanager'id,foduu'filemanager`.'filepath,foduu'detail'u orders`.'COUNT('foduu'detail'u orders`.'listing'id`)作为计数,总和('foduu'detail'orders`.'total`)作为“foduu清单”上的“foduu清单”左键“foduu清单”详细信息“订单”的总计。`id`=`foduu清单详细信息“订单”。`id`左键“foduu清单”详细信息“foduu清单”`.`id`=`foduu清单详细信息`.`id`左键“foduu清单”详细信息`.`id`左键“foduu清单”详细信息`.`foduu清单详细信息`.`filemanager`文件管理器`.`id`在哪里`foduu\u detail\u orders`.`listing\u id`=?

但是,如果您只是将查询从原始SQL转换成这样的有说服力的语句,就不会使用Laravel工具,你应该正确地定义你的模型和关系,然后利用它们来查询你的数据。

你可以对你的问题和你遇到的错误进行解释吗?你可以像@namelivia建议的那样做,或者在每个表中添加相应的模型,定义关系和使用雄辩来获取更干净的方式,这个原始查询正常工作,但我不把这个查询转换为雄辩的查询,所以请帮助改变它雄辩的QueYes欢迎,请考虑投票和使问题得到解决。
SELECT `foduu_listing`.`id`,`foduu_listing_filedetail`.`primary`, `foduu_listing`.`name`,`foduu_listing`.`filemanager_id`,`foduu_filemanager`.`filepath`,`foduu_detail_orders`.`listing_id`, COUNT(`foduu_detail_orders`.`listing_id`) AS count,SUM(`foduu_detail_orders`.`total`) AS total 
FROM foduu_listing
 left join `foduu_detail_orders` on `foduu_listing`.`id` = `foduu_detail_orders`.`listing_id`
 left join `foduu_listing_filedetail` on `foduu_listing`.`id` = `foduu_listing_filedetail`.`listing_id`
 left join `foduu_filemanager` on `foduu_listing`.`filemanager_id` = `foduu_filemanager`.`id` 
where `foduu_detail_orders`.`listing_id` = 593