博客列表 >大神封装法 利用到的知识是Repository 仓库

大神封装法 利用到的知识是Repository 仓库

php开发大牛
php开发大牛原创
2018年04月19日 15:53:21675浏览

$fields = ['id', 'report_id', 'report_identify', 'report_first_received_date', 'drug_name', 'first_event_term', 'case_serious', 'standard_of_seriousness', 'case_causality', 'received_from_id', 'task_user_name', 'organize_role_name', 'task_countdown', 'report_countdown'];

/*查询的字段*/

$searchFields = [

  'report_identify' => 'like',

  'drug_name' => 'like',

  'event_term' => 'like',

  'organize_role_id' => '=',

  'case_causality' => '=',

  'report_type' => '=',

  'task_user_id' => '=',

  'status' => '=',

];

/*获取查询条件*/

$where = $this->searchArray($searchFields);

/*获取数据*/

$this->reportTaskRepo->pushCriteria(new OrderBySortCriteria('asc', 'task_countdown'));

$data = $this->reportTaskRepo->findWhere($where, $fields);

//在Trait里封装

/**

 * 获取请求中的参数的值

 * @param array $fields [description]

 * @return [type]     [description]

 */

public function searchArray($fields=[])

{

  $results = [];

  if (is_array($fields)) {

   foreach($fields as $field => $operator) {

     if(request()->has($field) && $value = $this->checkParam($field, '', false)) {

      $results[$field] = [$field, $operator, "%{$value}%"];

     }

   }

  }

  return $results;

}


声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议