'integer', 'org_id' => 'integer', 'status' => 'integer', 'del_flag' => 'integer']; /** * Author: cfn * @param array $account * @param array $param * @return \Hyperf\Contract\LengthAwarePaginatorInterface */ public static function list(array $account, array $param) { $model = self::where("del_flag", 0) ->where("org_id", $account['belong_id']); foreach (['topic_name'] as $k) { if (isset($param[$k]) && $param[$k] != '') { $model = $model->where($k, "like", "%$param[$k]%"); } } return $model->orderByDesc("topic_id") ->paginate((int)$param['limit'], ["topic_id", "topic_name", "topic_code", "create_time", 'status'], 'page', (int)$param['page']); } /** * Author: cfn * @param array $account * @param string $ids * @return int */ public static function del(array $account, string $ids): int { return self::where("del_flag", 0) ->where("org_id", $account['belong_id']) ->whereIn("topic_id", explode(",", $ids)) ->update([ 'del_flag' => 1, 'update_time' => date("Y-m-d H:i:s") ]); } /** * Author: cfn * @param array $account * @return array */ public static function options(array $account): array { return self::where("del_flag", 0) ->where("org_id", $account['belong_id']) ->select(["topic_id", "topic_name"]) ->get() ->toArray(); } }