mirror of
https://github.com/lxsang/silk.git
synced 2024-11-09 23:08:23 +01:00
51 lines
1.2 KiB
Lua
51 lines
1.2 KiB
Lua
-- create class
|
|
BaseObject:subclass("BaseModel", {registry = {}})
|
|
|
|
function BaseModel:initialize()
|
|
self.db = self.registry.db
|
|
if self.db and self.name and self.name ~= "" and self.fields and
|
|
not self.db:available(self.name) then
|
|
self.db:createTable(self.name, self.fields)
|
|
end
|
|
end
|
|
|
|
function BaseModel:create(m)
|
|
if self.db and m then return self.db:insert(self.name, m) end
|
|
return false
|
|
end
|
|
|
|
function BaseModel:update(m)
|
|
if self.db and m then return self.db:update(self.name, m) end
|
|
return false
|
|
end
|
|
|
|
function BaseModel:delete(cond)
|
|
if self.db and cond then return self.db:delete(self.name, cond) end
|
|
return false
|
|
end
|
|
|
|
function BaseModel:find(cond)
|
|
if self.db and cond then return self.db:find(self.name, cond) end
|
|
return false
|
|
end
|
|
|
|
function BaseModel:get(id)
|
|
return self.db:get(self.name, id)
|
|
end
|
|
|
|
function BaseModel:findAll()
|
|
if self.db then return self.db:getAll(self.name) end
|
|
return false
|
|
end
|
|
|
|
function BaseModel:query(sql)
|
|
if self.db then return self.db:query(sql) end
|
|
return false
|
|
end
|
|
|
|
function BaseModel:select(sel, sql_cnd)
|
|
local sql = string.format("SELECT %s FROM %s WHERE %s;", sel, self.name, sql_cnd)
|
|
if self.db then return self.db:query(sql) end
|
|
return nil
|
|
end
|