|
|
@@ -4,6 +4,8 @@ namespace common\base\classes;
|
|
|
|
|
|
use Yii;
|
|
|
use \common\base\models\Base;
|
|
|
+use yii\base\InvalidConfigException;
|
|
|
+use yii\db\ActiveRecord;
|
|
|
|
|
|
class BaseClass
|
|
|
{
|
|
|
@@ -11,8 +13,8 @@ class BaseClass
|
|
|
|
|
|
/**
|
|
|
* 获取模型对象
|
|
|
- * @return Base|\yii\db\ActiveRecord
|
|
|
- * @throws \yii\base\InvalidConfigException
|
|
|
+ * @return Base|ActiveRecord
|
|
|
+ * @throws InvalidConfigException
|
|
|
*/
|
|
|
protected static function getModel()
|
|
|
{
|
|
|
@@ -25,14 +27,15 @@ class BaseClass
|
|
|
}
|
|
|
|
|
|
// 未设置 $baseFile,配置不完整
|
|
|
- throw new \yii\base\InvalidConfigException(
|
|
|
+ throw new InvalidConfigException(
|
|
|
'Missing model binding for ' . static::class . ': set static $baseFile.'
|
|
|
);
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 获取模型对象 (ActiveRecord)
|
|
|
- * @return \yii\db\ActiveRecord
|
|
|
+ * @return ActiveRecord
|
|
|
+ * @throws InvalidConfigException
|
|
|
*/
|
|
|
public static function getActiveRecord()
|
|
|
{
|
|
|
@@ -121,6 +124,7 @@ class BaseClass
|
|
|
* 根据主键ID删除一条记录
|
|
|
* @param int|string $id 主键ID
|
|
|
* @return int|false 删除的行数,失败返回false
|
|
|
+ * @throws InvalidConfigException
|
|
|
* @throws \Throwable
|
|
|
* @throws \yii\db\StaleObjectException
|
|
|
*/
|
|
|
@@ -160,6 +164,7 @@ class BaseClass
|
|
|
* @param int|string $id 主键ID
|
|
|
* @param array $data 更新的数据
|
|
|
* @return array ['status' => bool, 'data' => array]
|
|
|
+ * @throws \Exception
|
|
|
*/
|
|
|
public static function updateById($id, $data)
|
|
|
{
|
|
|
@@ -172,6 +177,7 @@ class BaseClass
|
|
|
* @param array $ids 主键ID数组
|
|
|
* @param array $data 更新的数据
|
|
|
* @return int 更新的行数
|
|
|
+ * @throws \Exception
|
|
|
*/
|
|
|
public static function updateByIds($ids, $data)
|
|
|
{
|
|
|
@@ -184,6 +190,7 @@ class BaseClass
|
|
|
* @param array $condition 查询条件
|
|
|
* @param array $data 更新的数据
|
|
|
* @return int 更新的行数
|
|
|
+ * @throws \Exception
|
|
|
*/
|
|
|
public static function updateByCondition($condition, $data)
|
|
|
{
|
|
|
@@ -197,7 +204,8 @@ class BaseClass
|
|
|
* @param int|string $id 主键ID
|
|
|
* @param bool $returnObject 是否返回对象
|
|
|
* @param string|array $field 查询字段
|
|
|
- * @return array|\yii\db\ActiveRecord|null
|
|
|
+ * @return array|ActiveRecord|null
|
|
|
+ * @throws \Exception
|
|
|
*/
|
|
|
public static function getById($id, $returnObject = false, $field = '*')
|
|
|
{
|
|
|
@@ -210,7 +218,8 @@ class BaseClass
|
|
|
* @param bool $returnObject 是否返回对象
|
|
|
* @param string|array|bool $order 排序
|
|
|
* @param string|array $field 查询字段
|
|
|
- * @return array|\yii\db\ActiveRecord|null
|
|
|
+ * @return array|ActiveRecord|null
|
|
|
+ * @throws \Exception
|
|
|
*/
|
|
|
public static function getOne($returnObject = false, $order = false, $field = '*')
|
|
|
{
|
|
|
@@ -224,7 +233,8 @@ class BaseClass
|
|
|
* @param bool $returnObject 是否返回对象
|
|
|
* @param string|array|bool $order 排序
|
|
|
* @param string|array $field 查询字段
|
|
|
- * @return array|\yii\db\ActiveRecord|null
|
|
|
+ * @return array|ActiveRecord|null
|
|
|
+ * @throws \Exception
|
|
|
*/
|
|
|
public static function getByCondition($condition, $returnObject = false, $order = false, $field = '*')
|
|
|
{
|
|
|
@@ -236,7 +246,7 @@ class BaseClass
|
|
|
* 判断数据是否存在
|
|
|
* @param array $condition 查询条件
|
|
|
* @return bool
|
|
|
- * @throws \yii\base\InvalidConfigException
|
|
|
+ * @throws \Exception
|
|
|
*/
|
|
|
public static function exists($condition)
|
|
|
{
|
|
|
@@ -251,7 +261,8 @@ class BaseClass
|
|
|
* @param string|array $field 查询字段
|
|
|
* @param string|callable|null $indexBy 索引字段
|
|
|
* @param bool $returnObject 是否返回对象
|
|
|
- * @return array|\yii\db\ActiveRecord[]
|
|
|
+ * @return array|ActiveRecord[]
|
|
|
+ * @throws \Exception
|
|
|
*/
|
|
|
public static function getAllByCondition($condition, $order = null, $field = '*', $indexBy = null, $returnObject = false)
|
|
|
{
|
|
|
@@ -266,6 +277,7 @@ class BaseClass
|
|
|
* @param string|callable|null $indexBy 索引字段
|
|
|
* @param string|array $field 查询字段
|
|
|
* @return array
|
|
|
+ * @throws \Exception
|
|
|
*/
|
|
|
public static function getByIds($ids, $order = null, $indexBy = null, $field = '*')
|
|
|
{
|
|
|
@@ -277,6 +289,7 @@ class BaseClass
|
|
|
* 根据条件获取记录数量
|
|
|
* @param array $condition 查询条件
|
|
|
* @return int|string
|
|
|
+ * @throws \Exception
|
|
|
*/
|
|
|
public static function getCount($condition)
|
|
|
{
|
|
|
@@ -290,6 +303,7 @@ class BaseClass
|
|
|
* @param array $condition 更新条件
|
|
|
* @param array $params 绑定参数
|
|
|
* @return int 更新行数
|
|
|
+ * @throws \Exception
|
|
|
*/
|
|
|
public static function counters($counters, $condition, $params = [])
|
|
|
{
|
|
|
@@ -301,7 +315,8 @@ class BaseClass
|
|
|
* 根据主键获取记录并锁定 (SELECT FOR UPDATE)
|
|
|
* @param int|string $id 主键ID
|
|
|
* @param string|array $field 查询字段
|
|
|
- * @return array|\yii\db\ActiveRecord|null
|
|
|
+ * @return array|ActiveRecord|null
|
|
|
+ * @throws \Exception
|
|
|
*/
|
|
|
public static function getLockById($id, $field = '*')
|
|
|
{
|
|
|
@@ -314,6 +329,7 @@ class BaseClass
|
|
|
* @param array $condition 查询条件
|
|
|
* @param string $field 求和字段
|
|
|
* @return mixed
|
|
|
+ * @throws \Exception
|
|
|
*/
|
|
|
public static function sum($condition, $field)
|
|
|
{
|