Laravel DB:带Union的原始
我有以下查询,我需要在其中删除,但我得到以下错误:Laravel DB:带Union的原始,laravel,laravel-5,Laravel,Laravel 5,我有以下查询,我需要在其中删除,但我得到以下错误: "message": "Method Illuminate\Support\Collection::getBindings does not exist." 其思想是,第一个查询返回按月分组的记录,最后一个要union的查询返回第一个查询,每个列的总值按月分组 这是我的预期输出,它正在mysql中更正查询: 代码如下: public function exclusive_details (Reques
"message": "Method Illuminate\Support\Collection::getBindings does not exist."
其思想是,第一个查询返回按月分组的记录,最后一个要union的查询返回第一个查询,每个列的总值按月分组
这是我的预期输出,它正在mysql中更正查询:
代码如下:
public function exclusive_details (Request $request) {
$exclusive_details = DB::table('properties')
->leftjoin('users', 'properties.prop_capper_email', '=', 'users.email_local_crm')
->select(DB::raw("users.id
,properties.prop_type
,SUM(IF(MONTH(properties.created_at) = 1, properties.PROP_EXCLUSIVE = 'Exclusiva',0)) as ENE
,SUM(IF(month(properties.created_at) = 2, properties.PROP_EXCLUSIVE = 'Exclusiva',0)) AS FEB
,SUM(IF(month(properties.created_at) = 3, properties.PROP_EXCLUSIVE = 'Exclusiva',0)) as MAR
,SUM(IF(month(properties.created_at) = 4, properties.PROP_EXCLUSIVE = 'Exclusiva',0)) AS ABR
,SUM(IF(month(properties.created_at) = 5, properties.PROP_EXCLUSIVE = 'Exclusiva',0)) AS MAY
,SUM(IF(month(properties.created_at) = 6, properties.PROP_EXCLUSIVE = 'Exclusiva',0)) as JUN
,SUM(IF(month(properties.created_at) = 7, properties.PROP_EXCLUSIVE = 'Exclusiva',0)) as JUL
,SUM(IF(month(properties.created_at) = 8, properties.PROP_EXCLUSIVE = 'Exclusiva',0)) AS AGO
,SUM(IF(month(properties.created_at) = 9, properties.PROP_EXCLUSIVE = 'Exclusiva',0)) as SEP
,SUM(IF(month(properties.created_at) = 10, properties.PROP_EXCLUSIVE = 'Exclusiva',0)) as OCT
,SUM(IF(month(properties.created_at) = 11, properties.PROP_EXCLUSIVE = 'Exclusiva',0)) as NOV
,SUM(IF(month(properties.created_at) = 12, properties.PROP_EXCLUSIVE = 'Exclusiva',0)) as DIC
"))
->where('users.id', $request['query']['id'])
->groupBy('properties.prop_type', 'users.id')
->orderBy('properties.prop_type', 'asc');
$exclusive_details_total = DB::table('properties')
->leftjoin('users', 'properties.prop_capper_email', '=', 'users.email_local_crm')
->select(DB::raw("users.id
,'TOTAL'
,SUM(IF(MONTH(properties.created_at) = 1, properties.PROP_EXCLUSIVE = 'Exclusiva',0)) as ENE
,SUM(IF(month(properties.created_at) = 2, properties.PROP_EXCLUSIVE = 'Exclusiva',0)) AS FEB
,SUM(IF(month(properties.created_at) = 3, properties.PROP_EXCLUSIVE = 'Exclusiva',0)) as MAR
,SUM(IF(month(properties.created_at) = 4, properties.PROP_EXCLUSIVE = 'Exclusiva',0)) AS ABR
,SUM(IF(month(properties.created_at) = 5, properties.PROP_EXCLUSIVE = 'Exclusiva',0)) AS MAY
,SUM(IF(month(properties.created_at) = 6, properties.PROP_EXCLUSIVE = 'Exclusiva',0)) as JUN
,SUM(IF(month(properties.created_at) = 7, properties.PROP_EXCLUSIVE = 'Exclusiva',0)) as JUL
,SUM(IF(month(properties.created_at) = 8, properties.PROP_EXCLUSIVE = 'Exclusiva',0)) AS AGO
,SUM(IF(month(properties.created_at) = 9, properties.PROP_EXCLUSIVE = 'Exclusiva',0)) as SEP
,SUM(IF(month(properties.created_at) = 10, properties.PROP_EXCLUSIVE = 'Exclusiva',0)) as OCT
,SUM(IF(month(properties.created_at) = 11, properties.PROP_EXCLUSIVE = 'Exclusiva',0)) as NOV
,SUM(IF(month(properties.created_at) = 12, properties.PROP_EXCLUSIVE = 'Exclusiva',0)) as DIC
"))
->where('users.id', $request['query']['id'])
->union($exclusive_details)
->groupBy('users.id')
->get();
dump($exclusive_details);
return response()->json($exclusive_details);
}
我如何解决工会问题
关于我最后做的是分别运行两个查询,然后连接两个集合:
$concat_exclusive = $exclusive_details->concat($exclusive_details_total);
$concat_exclusive = $exclusive_details->concat($exclusive_details_total);