Commit 85864390 by 杨昕

优化查询语句

parent b3c34abd
Pipeline #14071 passed with stages
in 7 minutes 0 seconds
...@@ -61,42 +61,45 @@ class MediaModel extends Eloquent ...@@ -61,42 +61,45 @@ class MediaModel extends Eloquent
$sort = 1; $sort = 1;
} }
$match = [
'status' => ["\$in" => [null,"1"]],
"media_url" => ["\$ne" => 'null']
];
if (isset($request->media_id) && !empty($request->media_id)){ if (isset($request->media_id) && !empty($request->media_id)){
$aggregate[]['$match']['_id'] = $request->media_id; $match['_id'] = $request->media_id;
} }
if (isset($request->category_id) && !empty($request->category_id)){ if (isset($request->category_id) && !empty($request->category_id)){
$aggregate[]['$match']['media_type_id'] = $request->category_id; $match['media_type_id'] = $request->category_id;
} }
// status:代表未转码
$aggregate[]['$match']['status'] = ["\$ne" => '0'];
$aggregate[]['$match']['media_url'] = ["\$ne" => 'null'];
// $aggregate[]['$match']['_id'] = 'mda-864371b9a82d1e21'; // $aggregate[]['$match']['_id'] = 'mda-864371b9a82d1e21';
if (isset($request->media_name) && !empty($request->media_name)){ if (isset($request->media_name) && !empty($request->media_name)){
$aggregate[]['$match']['media_name'] = ['$regex' => addslashes($request->media_name) ]; $match['media_name'] = ['$regex' => addslashes($request->media_name) ];
} }
if (isset($request->username) && !empty($request->username)){ if (isset($request->username) && !empty($request->username)){
$aggregate[]['$match']['username'] = ['$regex' => addslashes($request->username) ]; $match['username'] = ['$regex' => addslashes($request->username) ];
} }
if (isset($request->description) && !empty($request->description)){ if (isset($request->description) && !empty($request->description)){
$aggregate[]['$match']['description'] = ['$regex' => $request->description ]; $match['description'] = ['$regex' => $request->description ];
} }
if (isset($request->start_time)&& !empty($request->start_time)){ if (isset($request->start_time)&& !empty($request->start_time)){
$start_time = new UTCDateTime(strtotime($request->start_time) * 1000); $start_time = new UTCDateTime(strtotime($request->start_time) * 1000);
$aggregate[]['$match']['start_time'] = ['$gt' => $start_time ]; $match['start_time'] = ['$gt' => $start_time ];
} }
if (isset($request->end_time)&& !empty($request->end_time)){ if (isset($request->end_time)&& !empty($request->end_time)){
$end_time = new UTCDateTime(strtotime($request->end_time) * 1000);; $end_time = new UTCDateTime(strtotime($request->end_time) * 1000);;
$aggregate[]['$match']['end_time'] = ['$lt' => $end_time ]; $match['$match']['end_time'] = ['$lt' => $end_time ];
} }
$aggregate[]['$match'] = $match;
$aggregate1 = $aggregate; $aggregate1 = $aggregate;
$aggregate[]['$sort'] = ['start_time' => $sort]; $aggregate[]['$sort'] = ['start_time' => $sort];
...@@ -106,6 +109,7 @@ class MediaModel extends Eloquent ...@@ -106,6 +109,7 @@ class MediaModel extends Eloquent
'count'=>array('$sum'=>1) 'count'=>array('$sum'=>1)
]; ];
$count = $collection->aggregate($aggregate1)->toArray(); $count = $collection->aggregate($aggregate1)->toArray();
if (isset($count[0])){ if (isset($count[0])){
...@@ -944,6 +948,10 @@ class MediaModel extends Eloquent ...@@ -944,6 +948,10 @@ class MediaModel extends Eloquent
$url = getRbac($request,$call_back,$mediaCatg['media_category_id'] ,$type='clear_cache'); $url = getRbac($request,$call_back,$mediaCatg['media_category_id'] ,$type='clear_cache');
http_request_code($url,null,'POST',['mediaId'=>$media_id]); http_request_code($url,null,'POST',['mediaId'=>$media_id]);
}catch (\Exception $exception){ }catch (\Exception $exception){
throw new DatabaseException($exception->getMessage()); throw new DatabaseException($exception->getMessage());
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment