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

圖書表模型的增刪查改操作

原創(chuàng) 2019-05-11 23:26:09 537
摘要:一、創(chuàng)建表的SQL語句-- Adminer 4.7.1 MySQL dumpSET NAMES utf8;SET time_zone = '+00:00';SET foreign_key_checks = 0;SET sql_mode = 'NO_AUTO_VALUE_ON_ZERO';DROP DATABASE IF EXISTS `shop`;CREATE DA

一、創(chuàng)建表的SQL語句

-- Adminer 4.7.1 MySQL dump

SET NAMES utf8;
SET time_zone = '+00:00';
SET foreign_key_checks = 0;
SET sql_mode = 'NO_AUTO_VALUE_ON_ZERO';

DROP DATABASE IF EXISTS `shop`;
CREATE DATABASE `shop` /*!40100 DEFAULT CHARACTER SET utf8 */;
USE `shop`;

DROP TABLE IF EXISTS `product`;
CREATE TABLE `product` (
 `id` int(255) NOT NULL AUTO_INCREMENT COMMENT '圖書id',
 `name` varchar(255) NOT NULL COMMENT '圖書名稱',
 `price` int(255) NOT NULL COMMENT '圖書單價(jià)',
 `company` varchar(255) NOT NULL COMMENT '出品該圖書的公司名稱',
 `delete_time` int(12) NOT NULL COMMENT '刪除圖書信息時(shí)間戳',
 PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

INSERT INTO `product` (`id`, `name`, `price`, `company`, `delete_time`) VALUES
(1, '純牛奶', 83, '蒙牛', 1557586982),
(2, '清華大學(xué)', 85, '匯源', 0),
(3, '紙巾', 100, '恒安', 0),
(4, '鉛筆', 82, '晨光', 0)
ON DUPLICATE KEY UPDATE `id` = VALUES(`id`), `name` = VALUES(`name`), `price` = VALUES(`price`), `company` = VALUES(`company`), `delete_time` = VALUES(`delete_time`);

-- 2019-05-11 15:22:05

QQ圖片20190511232347.png

二、程序代碼

<?php

namespace app\index\controller;

use think\Controller;
use app\index\model\Product as productModel;//設(shè)置模型類的別名

class Product extends Controller
{
//1.添加圖書信息
   public function instance(productModel $product)//依賴注入
   {
//        $product = new productModel();//     實(shí)例化模型
       dump($product->getName());//查看模型名稱
       $product->id = 6;
       $product->name = '《php從入門到精通》';
       $product->price = 30;
       $product->company = '清華大學(xué)出版社';
       $product->save();
       return '新增成功,id=' . $product->id;
   }

//2.查詢圖書信息
   public function query()
   {
//        1.單條記錄:get(主鍵/閉包)
//        閉包:就是一個(gè)匿名回調(diào)函數(shù)
//        $product = productModel::get(2);
//        dump($product);
//(1)用閉包來創(chuàng)建查詢條件
//        $product = productModel::get(function ($query) {
//            $query->where('id', '>', 1)
//                ->where('price', '>', 1)
//                ->select();
//        });
//        dump($product);
//        直接調(diào)用Db靜態(tài)類的查詢構(gòu)造器進(jìn)行查詢
//        $product=productModel::where('price', '>', 1)
//                ->select();
// (2)多條記錄查詢:all(主鍵列表/閉包)
//        返回值是多個(gè)數(shù)組
//        $product=productModel::all(
//            function($query) {
//                $query->where('id', '>', 1)
//                    ->where('price', '>', 1);
//        });
////        dump($product);
//        foreach ($product as $value){
//        echo '編號(hào):'.$value->id.'<br>';
//        echo '價(jià)格:'.$value->price.'<hr>';
//    }
//  (3)采用閉包來實(shí)現(xiàn)將請(qǐng)求變量注入到閉包條件中
       $id = $this->request->param('id') ?: 1;
       $price = $this->request->param('price') ?: 1;
       $product = productModel::all(function ($query) use ($id, $price) {
           $query->where('id', '>', $id)
               ->where('price', '>', $price);
       });
       dump($product);
   }

//3.更新圖書信息
   public function update()
   {
//基于查詢的,不允許無條件更新
//$product=productModel::get(2);
//$product->name='北京大學(xué)';
//$product->save();
//靜態(tài)方法:update();
       productModel::update(['name' => '《考研660題》'], ['id' => 2]);
       productModel::update(['price' => \think\Db::raw('price-5')],
           function ($query) {
               $query->where('price', '<', 15000);
           });
//        也可以用查詢構(gòu)造器來更新數(shù)據(jù)
//        productModel::where('price', '<', 100000)
//            ->data(['price' => \think\Db::raw('price+50')])
//            ->update();
   }

//4.硬刪除圖書信息
   public function delete()
   {
//        destroy(主鍵/主鍵列表/閉包)
       productModel::destroy(6);
//刪除條件使用閉包
       productModel::destroy(function ($query) {
           $query->where('id', '=', 6);
       });
//        查詢構(gòu)造器實(shí)現(xiàn)刪除
       productModel::where('id', '=', 6)->delete();
   }

//5.軟刪除圖書信息:必須在模型中進(jìn)行配置
   public function softDelete()
   {
//        productModel::destroy(1);
//    軟刪除在平臺(tái)查詢中不可見
       $res = productModel::withTrashed()->where('id = 1')->select();
       dump($res);
   }
}

批改老師:查無此人批改時(shí)間:2019-05-13 09:45:01
老師總結(jié):完成的不錯(cuò)。后臺(tái)cms管理的功能都是一樣的邏輯。要好好練習(xí),繼續(xù)加油。

發(fā)佈手記

熱門詞條