<?php
namespace app\api\controller;
use app\common\controller\Api;
use think\Response;
use think\Config;
use think\Db;
use fast\Http;
/**
* 示例接口
*/
class Demo extends Api
{
//如果$noNeedLogin为空表示所有接口都需要登录才能请求
//如果$noNeedRight为空表示所有接口都需要验证权限才能请求
//如果接口已经设置无需登录,那也就无需鉴权了
//
// 无需登录的接口,*表示全部
protected $noNeedLogin = ['*'];
// 无需鉴权的接口,*表示全部
protected $noNeedRight = ['*'];
/**
* 测试方法
*
* @ApiTitle (测试名称)
* @ApiSummary (测试描述信息)
* @ApiMethod (POST)
* @ApiRoute (/api/demo/test/id/{id}/name/{name})
* @ApiHeaders (name=token, type=string, required=true, description="请求的Token")
* @ApiParams (name="id", type="integer", required=true, description="会员ID")
* @ApiParams (name="name", type="string", required=true, description="用户名")
* @ApiParams (name="data", type="object", sample="{'user_id':'int','user_name':'string','profile':{'email':'string','age':'integer'}}", description="扩展数据")
* @ApiReturnParams (name="code", type="integer", required=true, sample="0")
* @ApiReturnParams (name="msg", type="string", required=true, sample="返回成功")
* @ApiReturnParams (name="data", type="object", sample="{'user_id':'int','user_name':'string','profile':{'email':'string','age':'integer'}}", description="扩展数据返回")
* @ApiReturn ({
'code':'1',
'msg':'返回成功'
})
*/
public function tableField(){
$pre = Config('database.prefix');
$table_name = Db::query("SHOW INDEX FROM ".$pre."test_table");
$table_arr = [];
foreach($table_name as $key =>$r){
$table_arr[] = $r['Column_name'];
}
//删除
if(in_array('order_num',$table_arr)){
Db::execute("ALTER TABLE ".$pre."test_table DROP INDEX order_num");
}
//添加
if(!in_array('order_id',$table_arr)){
Db::execute("ALTER TABLE ".$pre."test_table ADD UNIQUE (`order_id`)");
}
//添加字段 修改字段长度
$db = Db::getConnection();
$table_name_fields_arr = $db->getFields($pre.'test_table'); //传入数据表名称
foreach($table_name_fields_arr as $key => $r){
if($key == 'goods_img'){
Db::execute("ALTER TABLE ".$pre."test_table CHANGE `goods_img` `goods_img` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '商品图片'");
}
if($key == 'buy_num'){
$buy_num = 1;
}
}
if(empty($buy_num)) {
Db::execute("ALTER TABLE ".$pre."test_table ADD `buy_num` int(11) DEFAULT NULL COMMENT '购买数量'");
}
}
}
php 添加字段索引、删除字段索引、添加字段、修改字段类型
于 2022-09-28 10:20:39 首次发布