45 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			PHP
		
	
	
			
		
		
	
	
			45 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			PHP
		
	
	
| <?php
 | |
| namespace app\model;
 | |
| 
 | |
| class History extends Base
 | |
| {
 | |
|     public static function onAfterInsert($item)
 | |
|     {
 | |
|         $item->sort  = $item->id;
 | |
|         $item->save();
 | |
|     }
 | |
| 
 | |
|     public static function getPaginateList($categoryId, $per = 20,  $isSample = false)
 | |
|     {
 | |
|         $paginate = [
 | |
|             'list_rows' => $per
 | |
|         ];
 | |
|         $items = self::where('category_id', $categoryId)->order('sort', 'asc')->paginate($paginate, $isSample);
 | |
|         if(!$items->isEmpty()) {
 | |
|             $ids = $items->column('id');
 | |
|             $infoList = HistoryInfo::getByHistoryIds($ids);
 | |
|             foreach ($items as $k => $item) {
 | |
|                 $items[$k]['info'] = $infoList[$item['id']] ?? [];
 | |
|             }
 | |
|         }
 | |
|         return $items;
 | |
|     }
 | |
| 
 | |
|     public static function getByCategoryId($categoryId, $onlyVisible = false)
 | |
|     {
 | |
|         $items = self::where('category_id', $categoryId)
 | |
|             ->when($onlyVisible, function($query){
 | |
|                 $query->where('visible', 1);
 | |
|             })
 | |
|             ->order('sort', 'asc')
 | |
|             ->select();
 | |
|         if(!$items->isEmpty()) {
 | |
|             $ids = $items->column('id');
 | |
|             $infoList = HistoryInfo::getByHistoryIds($ids, $onlyVisible);
 | |
|             foreach ($items as $k => $item) {
 | |
|                 $items[$k]['info'] = $infoList[$item['id']] ?? [];
 | |
|             }
 | |
|         }
 | |
|         return $items->toArray();
 | |
|     }
 | |
| } |