ThinkPHP5常用数据操作

1、数据库为:thinkphp5,新建一数据表think_test

CREATE TABLE `think_test` (
  `id` int(10) NOT NULL AUTO_INCREMENT COMMENT '主ID',
  `name` varchar(20) CHARACTER SET utf8 DEFAULT NULL COMMENT '姓名',
  `email` varchar(50) CHARACTER SET utf8 DEFAULT NULL COMMENT 'email',
  PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=76 DEFAULT CHARSET=utf8mb4;

2、在\application\database.php中修改

//'resultset_type'  => 'array',
    'resultset_type'  => '\think\Collection', //可在select、find等查询后增加 toarray,返回数组


3、在\application\index\model下新建一个模型文件Test.php,内容如下:

 'mysql',
		// 服务器地址
		'hostname'    => '127.0.0.1',
		// 数据库名
		'database'    => 'thinkphp5',
		// 数据库用户名
		'username'    => 'root',
		// 数据库密码
		'password'    => 'root',
		// 数据库编码默认采用utf8
		'charset'     => 'utf8',
		// 数据库表前缀
		'prefix'      => 'think_',
		// 数据库调试模式
		'debug'       => false,
	];*/

	//新增
	public function saveData(){
		$test=new Test();
		$test->data([
			'name'  =>  $this->name,
			'email' =>  $this->email
		]);
		$result=$test->save();
		return $result;
	}

	//获取列表
	public function getList(){
		$test=new Test();
		// 查询
		//$list=$test->where('name', 'thinkphp')->limit(10)->order('id', 'desc')->select();
		$list=$test->select()->toArray();
		//dump($list);exit;
		return $list;
	}

}

4、控制器\application\index\controller\Index.php内容如下:

assign('name','ThinkPHP');
        //写到数据库
        $test = new Test();  //使用模型
        $test->data([
            'name'  =>  $name,
            'email' =>  $email
        ]);
        $result=$test->save();
        if($result===false){
            echo '新增失败';exit;
        }
        //获取列表
        $list=$test->where('id>15')->order('id asc')->limit(10)->select()->toArray();
        //dump($list);exit;
        //更新数据库
        // save方法第二个参数为更新条件
        $result=$test->where('id=16')->update(['name' => 'thinkphp168']);
        if($result===false){
            echo '更新失败';exit;
        }
        //删除 条件
        $result=Test::where('id>10 and id<15')->delete();
        if($result===false){
            echo '删除失败';exit;
        }
        //统计 指定条件
        $count=Test::where('id>15 and id<30')->count();
        //获取单行数据
        $info=$test->where('id=16')->find()->toArray();
        //dump($info);exit;
        //取单个字段值
        $email=$test->where('id=16')->value('email');
        //echo $email;exit;
        //批量赋值
        $this->assign([
            'name'  => $name,
            'email' => $email,
            'list'=>$list,
            'count'=>$count
        ]);
        // 模板输出
        return $this->fetch('index');
    }
}


5、模板\application\index\view\Index\index.html内容:



    
    test


<{$name}>
<{$email}>
<{foreach from=$list item=i key=k}>

ID:<{$i.id}> name:<{$i.name}> email:<{$i.email}>

<{/foreach}> 列表总数:<{$count}>

以上是ThinkPHP5的基本数据操作,PS小小吐槽一下ThinkPHP官方文档....

你可能感兴趣的:(ThinkPHP)