0
点赞
收藏
分享

微信扫一扫

tp6 模型Model命名规则与数据库表名的对应关系(SQLSTA


错误:SQLSTATE[42S02]: Base table or view not found: 1146 Table 'xxx' doesn't exist

看看你属于那种情况

 

例子1:模型名称与数据库的表名一致

数据库前缀datacms_

tp6 模型Model命名规则与数据库表名的对应关系(SQLSTA_数据库

tp6 模型Model命名规则与数据库表名的对应关系(SQLSTA_字段_02

例子1:模型名称与数据库的表名不一致

protected $name = 'admin'; //定义LoginModel模型对应表名是datacms_admin的数据库

重新定义对应的表

tp6 模型Model命名规则与数据库表名的对应关系(SQLSTA_字段_03

tp6 模型Model命名规则与数据库表名的对应关系(SQLSTA_字段_04

官方文档:​​https://www.kancloud.cn/manual/thinkphp6_0/1037580​​

常用的模型设置属性包括(以下属性都不是必须设置):

属性

描述

name

模型名(相当于不带数据表前后缀的表名,默认为当前模型类名)

table

数据表名(默认自动获取)

suffix

数据表后缀(默认为空)

pk

主键名(默认为​​id​​)

connection

数据库连接(默认读取数据库配置)

query

模型使用的查询类名称

field

模型允许写入的字段列表(数组)

schema

模型对应数据表字段及类型

type

模型需要自动转换的字段及类型

strict

是否严格区分字段大小写(默认为true)

disuse

数据表废弃字段(数组)

 

例子2:模型名称与数据库的表名不一致

<?php
namespace app\admin\model;
use think\Model;
use think\Facade\Db;
use think\facade\View;
// use app\admin\model\CommonModel;

class CommonModel extends Model
{
protected $name = 'menu'; //定义LoginModel模型对应表名是datacms_menu的数据库

public function CommonDel($dataname,$where,$uid,$type='',$dataname2='',$where2=[]){
\var_dump(22);
$rs = Db::name('admin')->where('id',1)->find();
\var_dump($rs);exit;
}

重点:

tp6 模型Model命名规则与数据库表名的对应关系(SQLSTA_表名_05

 

举报

相关推荐

0 条评论