laravel 修改默认Eloquent 映射 表名加s复数的方式

若没有特别指定,laravel系统会默认自动对应名称为「Eloquent类名称的小写复数形态」的数据库表

 

两种方式:

1、Eloquent中自定义$table,缺点:如果是重构的项目,表名每个Eloquent都要重新定义。

2、添加自定义的Eloquent基类 BaseModel

1  namespace App\Http\Model;
2     use Illuminate\Database\Eloquent\Model;
3     class BaseModel extends Model{
4 
5         //根据model class获取表名 表名中包含_,用驼峰自动转换
6         public function getTable(){
7             return $this->table?$this->table:strtolower(snake_case(class_basename($this)));
8         }
9     }

 然后生成的model继承BaseModel即可。

posted @ 2019-01-03 10:55  winstonsias  阅读(3461)  评论(0编辑  收藏  举报