$builder=ExtendedSkus::leftjoin('extend_skus_attributes','extend_skus.id','=','extend_skus_attributes.es_id') ->leftJoin('carvehicleseries','carvehicleseries.vs_id','=','extend_skus.vs_id') ->leftJoin('carvehiclemodel','carvehiclemodel.vm_id','=','extend_skus.vm_id') ->select('extend_skus.id','extend_skus.vs_id','vs_name','vm_name','price','key1_id','key2_id') ->where('extend_skus.bp_id',8); $column = DB::raw("(select values_name From extend_attributes_values WHERE id = extend_skus_attributes.key1_id ) as key1_name"); $column1 = DB::raw("(select values_name From extend_attributes_values WHERE id = extend_skus_attributes.key2_id ) as key2_name"); // $column = DB::raw("(select values_name From extend_attributes_values WHERE id = extend_skus_attributes.key1_id ) as key1_name"); $builder->addSelect($column); $builder->addSelect($column1); $res=$builder->toSql(); dd($res);
打印sql之后
SELECT
`extend_skus`.`id`,
`extend_skus`.`vs_id`,
`vs_name`,
`vm_name`,
`price`,
`key1_id`,
`key2_id`,
(
SELECT
values_name
FROM
extend_attributes_values
WHERE
id = extend_skus_attributes.key1_id
) AS key1_name,
(
SELECT
values_name
FROM
extend_attributes_values
WHERE
id = extend_skus_attributes.key2_id
) AS key2_name
FROM
`extend_skus`
LEFT JOIN `extend_skus_attributes` ON `extend_skus`.`id` = `extend_skus_attributes`.`es_id`
LEFT JOIN `carvehicleseries` ON `carvehicleseries`.`vs_id` = `extend_skus`.`vs_id`
LEFT JOIN `carvehiclemodel` ON `carvehiclemodel`.`vm_id` = `extend_skus`.`vm_id`
WHERE
`extend_skus`.`bp_id` = 2