我在使用Eloquent的Laravel 5.8中执行查询时遇到问题,我真的不知道会发生什么。
我将解释:
我的雄辩的查询是这样的:
sklearn
如您所见,我正在对数据库进行此查询,该数据库不一定是应用程序使用的数据库。雄辩的查询翻译成这样:
$naviones=DB::connection('naviones')->table('ps_customer')
->select('ps_orders.id_order','ps_customer.firstname','ps_customer.lastname','ps_customer.email','ps_address.address1',
'ps_address.postcode','ps_address.city','ps_address.phone_mobile','ps_orders.id_order','ps_orders.reference',
'ps_order_detail.product_name','ps_order_detail.product_quantity','ps_shop.name as tienda','ps_carrier.name as transportista')
->join('ps_address','ps_customer.id_customer','=','ps_address.id_customer')
->join('ps_orders', function($join){
$join->on('ps_address.id_customer','=','ps_orders.id_customer')
->where('ps_address.id_address','=','ps_orders.id_address_delivery');
})
->join('ps_order_detail','ps_orders.id_order','=','ps_order_detail.id_order')
->join('ps_shop','ps_order_detail.id_shop','=','ps_shop.id_shop')
->join('ps_carrier','ps_orders.id_carrier','=','ps_carrier.id_carrier')
->where('ps_orders.id_order','=',11389)
->get();
好吧,关键是,如果我接受该查询并在Mysql中执行它,它将为我提供所需的信息,但是雄辩地说,它是空的。那就是令我疯狂的是该收藏集是空的。该查询是雄辩地传递给我的,我如何确保它是雄辩地传递的?我故意在其中一个字段中产生了一个错误,以便Laravel通知我并向我显示完整的查询以进行检查,这就是查询:
在红色圆圈的结尾,我显示了故意创建的错误,以查看完整的查询并查看其是否配备妥当。
我不明白发生了什么,我不知道该怎么办,我有两天,也不知道正在发生什么。
我希望你能给我一些想法,谢谢。
答案 0 :(得分:1)
如果删除此内容:
->join('ps_orders', function($join){
$join->on('ps_address.id_customer','=','ps_orders.id_customer')
->where('ps_address.id_address','=','ps_orders.id_address_delivery');
})
有什么结果吗?也许是该功能中的问题。
另外,您可以更改此内容吗?
DB::connection('naviones')->table('ps_customer')
到
DB::table('ps_customer')