Thinkphp M方法出错,D方法却可以

时间:2022-06-08 07:01:51

错误回顾:

M('Local')->find();  //报错
  
  //错误信息:Table 'test.local' doesn't exist [ SQL语句 ] : SHOW COLUMNS FROM `local`

D(
'Local')->find();  //正确

 

LocalModel.class.php文件内容如下

<?php
namespace Home\Model;

use Think\Model;

class LocalModel extends Model
{
protected $tableName = 'user';
}

 

原因:使用M方法的时候,方法名必须和表名称对应,在里面通过tableName指定表明是没有效果的。

    D方法模型文件名称可以和表明没有关系,通过模型属性tableName指定即可。

 

至于为什么,手册上没明确说明。暂时我也还不清楚