ProductionRepository.php 1.86 KB
<?php

namespace domain\production;

use domain\production\models\Production as ProductionModel;


/**

 * Class ProductionRepository
 * @package domain\production
 */
class ProductionRepository
{
    /**
     * 获取分页数据
     * @param $where
     * @param $offset
     * @param $limit
     * @return array|\yii\db\ActiveRecord[]
     */
    static function getPageList($where, $offset, $limit)
    {
        $productionFind = ProductionModel::find()->alias("p")
                            ->select([
                                "p.*"
                            ]);

        if (!empty($where)) {
            $productionFind->where($where);
        }
        if ($offset) {
            $productionFind->offset($offset);
        }
        if ($limit) {
            $productionFind->limit($limit);
        }

        $productionFind->orderBy("p.id desc");
        $productionFind->asArray();
        $dataList = $productionFind->all();

        return $dataList;
    }

    /**
     * 列表页面分页器数量
     * @param string $map
     */
    static function getPageCount($map = '')
    {
        $productionFind = ProductionModel::find()->alias("p");
        if (!empty($map)) {
            $productionFind->where($map);
        }
        $pageCount = $productionFind->count();

        return $pageCount;
    }

    /**
     * @param $id
     * @param bool|false $asArr
     * @return null|static
     */
    static function selectOne($id, $asArr = false)
    {
        $production = ProductionModel::findOne($id);
        if ($asArr && $production) {
            $production = $production->toArray();
        }
        return $production;
    }

    /**
     * @param $id
     * @param bool|false $asArr
     * @return null|static
     */
    static function findOne($condition)
    {
        $production = ProductionModel::findOne($condition);
        return $production;
    }
}