QUERY1:
$image= DB::table('products_photos')->groupBy('filename')
->get(['filename', DB::raw('MAX(id) as id')]);
这是我查询所有存储记录的单个图像的查询。
QUERY2:
$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
错误
答案 0 :(得分:0)
merge()
方法合并两个结果集合,因为它是通过Laravel :: Combine two DB query objects 解释的
或者您使用联接将两个查询合并到一个查询中。要保留Builder对象(不带get()
),您可以使用以下内容:
$single_query = DB::table('first_query')
->join(DB::raw('('.$second_query->toSQL().') alias'), 'id', 'alias.id')
->mergeBindings($second_query)
->get();
如果您没有任何参数,则可以省略mergeBindungs()
子句。