alias('a'); $deviceFind->select(['a.*','b.batch_no', 'm.name as manufacture','p.name as project','pd.name as production','mo.name as model']); $deviceFind->leftJoin(CreateBatchModel::tableName().' b','b.id = a.batch_id'); $deviceFind->leftJoin('manufacture as m', 'm.id = b.manufacture_id'); $deviceFind->leftJoin('project as p', 'p.id = b.project_id'); $deviceFind->leftJoin('model as mo', 'mo.id = b.model_id'); $deviceFind->leftJoin('production as pd', 'pd.id = b.production_id'); $deviceFind->where($where); $deviceFind->orderBy('created_at desc'); $deviceFind->asArray(); if ($offset) { $deviceFind->offset($offset); } if ($limit) { $deviceFind->limit($limit); } $all = $deviceFind->all(); return $all; } /** * @param $where * @return int|string */ static function getListCount($where) { $deviceFind = DeviceModel::find(); $deviceFind->alias('a'); $deviceFind->leftJoin(CreateBatchModel::tableName().' b','b.id = a.batch_id'); $deviceFind->leftJoin('manufacture as m', 'm.id = b.manufacture_id'); $deviceFind->leftJoin('project as p', 'p.id = b.project_id'); $deviceFind->leftJoin('model as mo', 'mo.id = b.model_id'); $deviceFind->leftJoin('production as pd', 'pd.id = b.production_id'); $deviceFind->where($where); $all = $deviceFind->count(); return $all; } /** * @param $condition * @return null|static */ static function findOne($condition) { return DeviceModel::findOne($condition); } /** * @param $condition * @return array|\yii\db\ActiveRecord[] */ static function findAll($condition) { $deviceModel = DeviceModel::find(); $deviceModel->where($condition); $list = $deviceModel->all(); return $list; } /** * @param $condition * @return int|string */ static function rowsCount($condition) { $deviceModel = DeviceModel::find(); $deviceModel->where($condition); $count = $deviceModel->count(); return $count; } }