配置数据库
在application/database.php文件中配置需要用的数据库
'type' => 'mysql',
// 服务器地址
'hostname' => '',
// 数据库名
'database' => '',
// 用户名
'username' => '',
// 密码
'password' => '',
// 端口
'hostport' => '3306',
model分层
数据层:model 用于定义数据相关的自动验证和自动完成和数据存取接口
逻辑层:logic 用于定义相关的业务逻辑
服务层:service 用于定义相关的服务接口等
- 在application目录下创建common目录,该目录放model,logic,和公共函数
pojo类
<?php
namespace app\common\pojo;
class Book
{
public $id;
public $name;
public $price;
public function __construct($id, $name, $price)
{
$this->id = $id;
$this->name = $name;
$this->price = $price;
}
}
model类
<?php
/**
* 数据层
*/
namespace app\common\model;
use think\Model;
class Book extends Model
{
// 设置当前模型对应的完整数据表名称
protected $table = 'phpbook';
public function insertBook(\app\common\pojo\Book $book){
$this->data([
'id'=>$book->id,
'name'=>$book->name,
'price'=>$book->price
]);
return $this->save();
}
public function selectAllBooks(){
$books=[];
$list = $this->field('id,name,price')->select();
foreach ($list as $book){
array_push($books,new \app\common\pojo\Book($book['id'],$book['name'],$book['price']));
}
return $books;
}
public function selectBookById($id){
$book = $this->where("id",$id)->field('id,name,price')->find();
return $book;
}
public function deleteBook(\app\common\pojo\Book $book){
return $this->where('id','=',$book->id)->delete();
}
public function updateBook(\app\common\pojo\Book $book){
return $this->save(['name'=>$book->name,'price'=>$book->price],['id'=>$book->id]);
}
}
logic类
<?php
/**
* 逻辑层
*/
namespace app\common\logic;
use think\Model;
class Book extends Model
{
public function addBook(\app\common\pojo\Book $book){
return model('Book','model')->insertBook($book);
}
public function findAllBooks(){
return model('Book','model')->selectAllBooks();
}
public function findBooksById($id){
return model('Book','model')->selectBookById($id);
}
public function updateBook(\app\common\pojo\Book $book){
return model('Book','model')->updateBook($book);
}
public function deleteBook(\app\common\pojo\Book $book){
return model('Book','model')->deleteBook($book);
}
}
controller类
<?php
namespace app\index\controller;
use app\common\pojo\Book;
use think\Config;
class Index
{
public function index()
{
Config::set("default_return_type","json");
$books = model("Book","logic")->findAllBooks();
return $books;
}
public function insert(){
Config::set("default_return_type","json");
return json(model("Book","logic")->addBook(new Book('20','万历十五年','12.11')));
}
public function update(){
Config::set("default_return_type","json");
return json(model("Book","logic")->updateBook(new Book('20','万历十五年','1001')));
}
public function delete(){
Config::set("default_return_type","json");
return json(model("Book","logic")->deleteBook(new Book('20',null,null)));
}
}
网友评论