| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178 |
- local result = require("mysql.result")
- local mysql_builder_select = {}
- mysql_builder_select.__index = mysql_builder_select
- --[[
- 创建一个新的 fw_mysql_builder_select 对象
- @return 返回一个新的 fw_mysql_builder_select 对象
- ]]
- function mysql_builder_select.new(__module)
- local instance = setmetatable({}, mysql_builder_select)
- instance.module = __module
- return instance
- end
- --[[
- 添加 int32 类型的条件
- @param name 字段名称
- @param expression 条件表达式
- @param value 值
- @return 返回 mysql_builder_select 对象自身,以便链式调用
- ]]
- function mysql_builder_select:where_i32(name, expression, value)
- self.module:where_i32(name, expression, fw_toint(value))
- return self
- end
- --[[
- 添加 int64 类型的条件
- @param name 字段名称
- @param expression 条件表达式
- @param value 值
- @return 返回 mysql_builder_select 对象自身,以便链式调用
- ]]
- function mysql_builder_select:where_i64(name, expression, value)
- self.module:where_i64(name, expression, fw_toint(value))
- return self
- end
- --[[
- 添加 double 类型的条件
- @param name 字段名称
- @param expression 条件表达式
- @param value 值
- @return 返回 mysql_builder_select 对象自身,以便链式调用
- ]]
- function mysql_builder_select:where_dob(name, expression, value)
- self.module:where_dob(name, expression, value)
- return self
- end
- --[[
- 添加字符串类型的条件
- @param name 字段名称
- @param expression 条件表达式
- @param value 值
- @return 返回 mysql_builder_select 对象自身,以便链式调用
- ]]
- function mysql_builder_select:where_str(name, expression, value)
- self.module:where_str(name, expression, value)
- return self
- end
- --[[
- 添加自定义表达式的条件
- @param expression 条件表达式
- @return 返回 mysql_builder_select 对象自身,以便链式调用
- ]]
- function mysql_builder_select:where_expression(expression)
- self.module:where_expression(expression)
- return self
- end
- --[[
- 添加 LIKE 条件
- @param name 字段名称
- @param value 值
- @return 返回 mysql_builder_select 对象自身,以便链式调用
- ]]
- function mysql_builder_select:where_like(name, value)
- self.module:where_like(name, value)
- return self
- end
- --[[
- 设置查询的表名
- @param table_name 表名
- @return 返回 mysql_builder_select 对象自身,以便链式调用
- ]]
- function mysql_builder_select:table(table_name)
- self.module:table(table_name)
- return self
- end
- --[[
- 设置查询的字段
- @param table 字段表
- @return 返回 mysql_builder_select 对象自身,以便链式调用
- ]]
- function mysql_builder_select:field(table)
- self.module:field(table)
- return self
- end
- --[[
- 设置分页参数
- @param page 页码
- @param count 每页记录数
- @return 返回 mysql_builder_select 对象自身,以便链式调用
- ]]
- function mysql_builder_select:page(page, count)
- self.module:page(fw_toint(page), fw_toint(count))
- return self
- end
- --[[
- 设置查询限制
- @param start 起始位置
- @param count 记录数
- @return 返回 mysql_builder_select 对象自身,以便链式调用
- ]]
- function mysql_builder_select:limit(start, count)
- self.module:limit(fw_toint(start), fw_toint(count))
- return self
- end
- --[[
- 设置排序
- @param orderby 排序语句
- @return 返回 mysql_builder_select 对象自身,以便链式调用
- ]]
- function mysql_builder_select:orderby(orderby)
- self.module:orderby(orderby)
- return self
- end
- --[[
- 设置分组
- @param groupby 排序语句
- @return 返回 mysql_builder_select 对象自身,以便链式调用
- ]]
- function mysql_builder_select:groupby(expd)
- self.module:groupby(expd)
- return self
- end
- --[[
- 设置分组结果
- @param having 排序语句
- @return 返回 mysql_builder_select 对象自身,以便链式调用
- ]]
- function mysql_builder_select:having(expd)
- self.module:having(expd)
- return self
- end
- --[[
- 清空查询条件
- ]]
- function mysql_builder_select:clear()
- self.module:clear()
- end
- --[[
- 执行查询
- @return 返回 mysql_result 对象
- ]]
- function mysql_builder_select:query()
- return result.new(self.module:query())
- end
- --[[
- 获取查询结果的记录数
- @return 返回记录数
- ]]
- function mysql_builder_select:count()
- return self.module:count()
- end
- return mysql_builder_select
|