亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

創(chuàng)建圖書(shū)表 創(chuàng)建模型類(lèi)進(jìn)行增刪改查操作

??? 2019-04-01 12:59:47 263
????://創(chuàng)建圖書(shū)表 DROP TABLE IF EXISTS `library`; CREATE TABLE `library` (   `library_id` int(4) unsigned NOT NULL AUTO_INCREMENT COMME
//創(chuàng)建圖書(shū)表
DROP TABLE IF EXISTS `library`;
CREATE TABLE `library` (
  `library_id` int(4) unsigned NOT NULL AUTO_INCREMENT COMMENT '圖書(shū)id',
  `name` varchar(30) NOT NULL COMMENT '書(shū)名',
  `salary` int(6) unsigned NOT NULL DEFAULT '3000' COMMENT '價(jià)格',
  `delete_time` int(10) NOT NULL,
  `enter_time` int(10) NOT NULL,
  PRIMARY KEY (`staff_id`),
  UNIQUE KEY `name` (`name`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;

//模型類(lèi)Library.php
<?php 
namespace app\index\model;

use think\Model;
use think\model\concern\SoftDelete;
/**
* 軟刪除的步驟
*1.在表中添加一個(gè)字段:刪除時(shí)間(刪除標(biāo)志):delete_time
*2.在模型類(lèi)添加一個(gè)屬性:$deleteTime='delete_time'
*3.在模型中導(dǎo)入軟刪除的trait類(lèi)庫(kù):SoftDelete
*/
class Library extends Model
{
	use SoftDelete;

	protected $table = 'library';

	protected $pk ='library_id';

	//設(shè)置刪除時(shí)間的字段名
	protected $deleteTime ='delete_time';

	//設(shè)置軟刪除字段的默認(rèn)值

	protected $defaultSoftDelete = 0;
}
?>
//控制器類(lèi)
<?php 
namespace app\index\Controller;
use think\Controller;
use think\Db;

use app\index\model\Library as LibraryModel;

class Library extends Controller
{
	//實(shí)例化模型
	public function instance(LibraryModel $library){//依賴(lài)注入
		//$staff = new StaffModel();//模型實(shí)例化
		//dump($staff->getName());

		//新增一條數(shù)據(jù)
		$library->name = 'book_one';
		$library->salary = 50;

		//新增操作
		$library->save();
		return '新增成功,id='.$library->library_id;
	}
	//模型查詢(xún)
	public function query()
	{
		//1單條記錄
		//閉包:就是一個(gè)匿名回調(diào)函數(shù)(將函數(shù)作為參數(shù)進(jìn)行傳遞)
		$library = LibraryModel::get(2);
		echo $library->name;

		//閉包創(chuàng)建查詢(xún)
		$library = LibraryModel::get(function($query){
			$query->where('salary','>',50);
		});
		
		dump($library);

		//直接靜態(tài)調(diào)用Db類(lèi)查詢(xún)構(gòu)造器查詢(xún)
		LibraryModel::where('salary','>',50)->find();

		//多條記錄查詢(xún):all
		//返回值是多個(gè)數(shù)組
		$librarys=LibraryModel::all([1,2,3]);
		dump($librarys);

		//采用閉包來(lái)實(shí)現(xiàn)將請(qǐng)求變量注入到閉包條件中
		$salary = $this->request->param('salary')?:4000;

		$librarys= LibraryModel::all(function($query) use ($salary){
			query->where('salary','>',$salary);

		});

		dump($librarys);

		

	}
	//模型更新
	public function update()
	{
		//基于查詢(xún)的,不允許無(wú)條件更新
	    $library = LibraryModel::get(3);
	    $library->name = 'longguniang';//更新記錄字段
	    $library->save();

	    //靜態(tài)方法:update();

	    LibraryModel::update(
	    	['name'=>'xiaolongnv'],
	    	['library_id'=>2]
	    );

	    //復(fù)雜更新
	    //將年齡大于50的員工 工資加500

	    LibraryModel::where('library_id','>','5')
	    	->update(
	    		['salary'=>Db::raw('salary+500')]
	    	);
	    	
	    


	}

	public function create()
	{
		//save();
		//create(數(shù)據(jù),字段);
		$data=['name'=>'sunwukong','salary'=>8888];
		$field=['name','salary'];
		LibraryModel::create($data,$field);
	}

	//刪除記錄

	public function delete()
	{
		$library = LibraryModel::destroy(1);
	}

	//軟刪除

	public function softDelete()
	{
		LibraryModel::destroy(35);

		//軟刪除的數(shù)據(jù)普通查詢(xún)不可見(jiàn)
		$res =LibraryModel::where('library_id','<',40)->select();
		//dump($res);
        //軟刪除的數(shù)據(jù)可見(jiàn) withTrashed();
		$res =LibraryModel::withTrashed()->where('library_id','<',40)->select();
		//dump($res);

		//查看回收站
		$res =LibraryModel::onlyTrashed()->select();
	}



}


?>


?? ???:西門(mén)大官人?? ??:2019-04-02 09:39:16
???? ??:軟刪除的原理是更新數(shù)據(jù)庫(kù)中的一個(gè)字段,實(shí)際上并沒(méi)有從數(shù)據(jù)庫(kù)中刪除相關(guān)數(shù)據(jù)

??? ??

?? ??