chaoyu/app/model/Achievement.php

56 lines
1.5 KiB
PHP
Executable File

<?php
namespace app\model;
/**
* 业绩管理
* Class Achievement
* @package app\model
*/
class Achievement extends Base
{
public static function onAfterInsert($achievement)
{
$achievement->sort = $achievement->id;
$achievement->save();
}
public static function getPaginateList($categoryId, $per = 20, $isSample = false , $onlyVisible = false, $order = [])
{
$paginate = [
'list_rows' => $per
];
if(empty($order)) {
$order = ['sort'=>'desc'];
}
return self::where('category_id', $categoryId)
->when($onlyVisible, function ($query) {
$query->where('visible', 1);
})
->order($order)
->paginate($paginate, $isSample);
}
public static function getListByCategoryId($categoryId, $per = 20, $onlyVisible = false, $order = [])
{
if(empty($order)) {
$order = ['sort'=>'desc'];
}
$items = self::where('category_id', $categoryId)
->when($onlyVisible, function ($query) {
$query->where('visible', 1);
})
->order($order)
->limit($per)
->column('*', 'id');
if(count($items) > 0) {
$ids = array_keys($items);
$infoList = AchievementInfo::getGroupByAchievementIds($ids, $onlyVisible);
foreach ($items as &$item) {
$item['infos'] = $infoList[$item['id']] ?? [];
}
unset($item);
}
return array_values($items);
}
}