一、数据库操作基本方法,$this->db,可在控制器,插件,任何页面写都可以,全部方法在:include/class/mysql.php下
1、获取某一条记录
$rs = $this->db->getone("表名", "条件");
//获取当前登录用户全部信息,$this->adminid当前用户Id。
$urs = $this->db->getone("xinhu_admin", "id=".$this->adminid."");
2、获取全部记录,返回二维数组
$rows = $this->db->getall("原生$sql语句");
3、执行原生sql,返回执行结果对象
$result = $this->db->query("原生$sql语句");
二、Model方法使用,也就是页面上m方法,任何页面上都可以使用m方法。
1、在webmain/model下创建对应文件。如m("admin") 就的对应文件adminModel.php。操作的是admin表,也可在页面上指定其他表。所有的model都继承Model方法,文件在:include/Model.php,里面很多方法。
class adminClassModel extends Model{
public function initModel()
{
$this->settable("admin");//设置一个表
}
}
2、某一条记录
$rs = m("admin")->getone($where);
3、某全部记录
$rows = m("admin")->getall("条件","字段如","排序");
$rows = m("admin")->getall("status=1","id,name","sort");//获取全部用户
4、写入数据库
$arr["字段2"]="值";
$arr["字段1"]="值";
$newid= m("表名")->insert($arr); //返回插入新的id
5、更新
$arr["更新字段2"]="值";
$arr["更新字段1"]="值";
$bool= m("表名")->update($arr, "条件");
6、删除
$bool= m("表名")->delete("条件");
三、举个例子,如我要获取全部部门和人员数据库的代码,可在控制器创建一个方法如下:
public function getdeptuser()
{
$dept = m("dept")->getall("1=1","`id`,`name`");//获取全部部门
$dbs = m("admin");//人员表
foreach($dept as $k=>$rs){
$dept[$k]["userarr"] = $dbs->getall("status=1 and `deptid`=".$rs["id"]."","id,name","sort");
}
return $dept;
}
原创文章,禁止转载复制,信呼OA官网保留一切知识产权。