如何用laravel的查询生成器统一两个查询

如何用laravel的查询生成器统一两个查询,laravel,query-builder,Laravel,Query Builder,有没有办法用Laravel7的查询生成器统一这两个查询 以下是问题: $subquery = DB::table('requests'); $subquery->select('requests.created_at as created_at'); $subquery->leftJoin('request_properties', 'requests.request_properties_id', '=', 'request_properties.id'); $subquery-&

有没有办法用Laravel7的查询生成器统一这两个查询

以下是问题:

$subquery = DB::table('requests');
$subquery->select('requests.created_at as created_at');
$subquery->leftJoin('request_properties', 'requests.request_properties_id', '=', 'request_properties.id');
$subquery->leftJoin('customers', 'request_properties.customer_id', '=', 'customers.id');
$subquery->where('customers.customer_id', '=', $customerId);
$subquery->orderBy('requests.created_at','DESC');
$subquery->limit(1);
$requests_list_one = $subquery->get();

$maxdate = $requests_list[0]->created_at;

$maxdate_as = $maxdate . " as lastPostDate";

$query = DB::table('requests');
$query->select('request_properties.id as assistanceRequestId', 'request_properties.delivery_mode as deliveryMode', 'requests.created_at as creationDate',
    'request_types.request_type_name as type', 'customers.login as login', 'status.status_name as statusCode', 'requests.real_duration as realDuration', 
    'requests.estimated_duration as estimatedDuration', 'feedbacks.feedback as rate', 'vehicles.plate as plateNumber', 'brands.brand_name as makeLabel',
    'models.model_name as modelLabel', $maxdate_as);
$query->leftJoin('request_properties', 'requests.request_properties_id', '=', 'request_properties.id');
$query->leftJoin('request_types', 'requests.request_type_id', '=', 'request_types.id');
$query->leftJoin('customers', 'request_properties.customer_id', '=', 'customers.id');
$query->leftJoin('status', 'request_properties.state_id', '=', 'status.id');
$query->leftJoin('vehicles', 'request_properties.vehicle_id', '=', 'vehicles.id');
$query->leftJoin('models', 'vehicles.model_id', '=', 'models.id');
$query->leftJoin('brands', 'models.brand_id', '=', 'brands.id');
$query->leftJoin('feedbacks', 'requests.id', '=', 'feedbacks.request_id');
$query->where('customers.customer_id', '=', $customerId);
$query->where('request_properties.source_id', '=', $source);
$requests_list_two = $query->get();
我希望避免使用“原始查询”,因为我害怕SQL注入

显然,上面的代码是错误的,因为Laravel在第二个查询
$maxdate\u中像列一样读取

$maxdate\u as
应显示特定客户最后一次请求的日期

你能帮忙吗