【发布时间】:2018-05-02 00:15:14
【问题描述】:
查询1:
$image= DB::table('products_photos')->groupBy('filename')
->get(['filename', DB::raw('MAX(id) as id')]);
这是我为所有存储的记录检索单个图像的查询。
查询2:
$verifiedValues= priceInfo::join('productDescription',
'productDescription.productId', '=', 'productPriceDetails.productId')
->join('productAdditionalInformation',
'productAdditionalInformation.productId', '=',
'productPriceDetails.productId')
->join('products_photos', 'products_photos.productId', '=',
'productAdditionalInformation.productId')
->select('productPriceDetails.SKUID','productDescription.modelName')
**->select($image)**
->where('productPriceDetails.nonliveStatus', '=',
"QCVerified")-
>where('productAdditionalInformation.nonliveStatus','=',"QCVerified")
->where('productDescription.nonliveStatus','=',"QCVerified")
->where('products_photos.nonliveStatus','=',"QCVerified")
->where('productPriceDetails.listingStatus','=',"Inactive")
->get();
这是我的查询,我已加入多个表,需要将 query1 与 query2 结合起来。
SQLSTATE[HY093]: Invalid parameter number: mixed named and positional parameters
合并两个查询时出错
【问题讨论】:
-
这两个查询对我来说看起来非常不同,这可能排除了联合作为组合它们的一种方式。有什么方法可以使用连接吗?你能包括你的表模式吗?如果你被 Laravel 卡住了,你总是可以回到原始的 MySQL 并首先解决问题。
-
为什么不使用 ORM?这简化了许多这样的查询。如果其他开发人员必须维护这样的查询,他们会讨厌你。 ORM 是一种更流畅的方式来归档相同的功能。
标签: php mysql laravel-5.4