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,内容如下:

<?php
namespace app\index\model;
use think\Model;
class Test extends Model {
	// 设置当前模型对应的完整数据表名称
	protected $table = 'think_test';

	//设置
	public $name; //姓名
	public $email; //姓名

	// 设置当前模型的数据库连接 需要的话
	/*protected $connection = [
		// 数据库类型
		'type'        => '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内容如下:

<?php
//命名空间
namespace app\index\controller;
use think\Controller;
//导入模型类
use app\index\model\Test;
//需要继承
class Index extends Controller{
    public function index(){
        $name='thinkphp3';
        $email= 'thinkphp3@thinkphp.cn';
        // 模板变量赋值
        //$this->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内容:
<!DOCTYPE html>
<html lang="zh">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>test</title>
</head>
<body>
<{$name}><br/>
<{$email}><br/>
<{foreach from=$list item=i key=k}>
<p>ID:<{$i.id}> name:<{$i.name}> email:<{$i.email}></p>
<{/foreach}>
列表总数:<{$count}><br/>
</body>
</html>

大笑以上是ThinkPHP5的基本数据操作,PS小小吐槽一下ThinkPHP官方文档....
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值