对于小型项目,为了不影响原数据库,但是需要加新功能,又不想去创建数据库迁移麻烦,或许我们有时候需要使用到sqlite数据库,
下面就是tp5中某一控制器单独使用sqlite数据库的demo
首先需要下载一个数据库管理工具创建一个我们需要的库
建议大家使用Navicat for sqlite工具
下载方式 关注公众号回复关键词 navicatforsqlite 获取
2:在common板块下创建模型
<?php
namespace app\common\model;
use think\Model;
/**
* Created by PhpStorm.
* User: 微博@沙坪坝韩宇,qq571031767
* Date: 2017/6/20
* Time: 14:27
*/
class Banner extends Model
{
protected $connection = [
// 数据库类型
'type' => 'sqlite',
// 数据库连接DSN配置
'dsn' => '',
// 数据库名
'database' => 'DatabaseSqllite/weixn.qudong.com.sqlite3',
// 数据库编码默认采用utf8
'charset' => 'utf8',
// 数据库表前缀
'prefix' => '',
'debug' => true
];
}
3:使用方法示例
<?php
/**
* Created by PhpStorm.
* User: 微博@沙坪坝韩宇,qq571031767
* Date: 2017/6/20
* Time: 14:27
*/
namespace app\admin\controller;
use think\Db;
use think\Request;
use think\Session;
class Banner extends Common
{
public function _initialize()
{
$this->_article = "qudonghao_article";
$this->_article_cate = 'qudonghao_article_category';
}
public function add()
{
if(Request::instance()->isPost()){
$data = Request::instance()->post();
unset($data['file']);
$data['add_time'] = time();
$data['user'] = Session::get('username');
$res = \app\common\model\Banner::create($data);
if($res){
return $this->success('添加成功',url('index'));
}else{
return $this->error('添加失败');
}
}else{
return $this->fetch();
}
}
public function index()
{
$list = \app\common\model\Banner::where(1)->paginate();
$this->assign('list',$list);
return $this->fetch();
}
public function change_status()
{
$id = Request::instance()->param("id");
$banner = new \app\common\model\Banner();
$res = $banner->find($id);
if($res['status'] == 1){
$res = $banner->where(['id'=>$id])->update(['status'=>0]);
$data['status'] = 0;
$data['msg'] = "修改成功";
$data['readme'] = "这里返回的status代表修改后的status字段";
}else{
$res = $banner->where(['id'=>$id])->update(['status'=>1]);
$data['status'] = 1;
$data['msg'] = "修改成功";
$data['readme'] = "这里返回的status代表修改后的status字段";
}
return json($data);
}
public function del()
{
$id = Request::instance()->param('id');
$res = \app\common\model\Banner::get($id);
if(is_file(APP_PATH."/../".$res['picture'])){
unlink(APP_PATH."/../".$res['picture']);
}
$res = \app\common\model\Banner::where("id",$id)->delete();
if($res){
$data['status'] = 1;
$data['msg'] = '成功';
$data['data'] = '';
}else{
$data['status'] = 0;
$data['msg'] = '失败';
$data['data'] = '';
}
echo json_encode($data);die;
}
}
好了,教程略显粗糙,但是绝对清晰明了,大家学会了就开始使用吧