Laravel 使用多数据库和 Model 表名去 s
模型 表名去掉s
有时候会遇到奇葩的要求
我们创建的模型都是继承
通过源码
Illuminate\Database\Eloquent\Model;
public function getTable()
{
if (! isset($this->table)) {
return str_replace(\
'\\', '', Str::snake(Str::plural(class_basename($this)))\
);\ }
return $this->table;
}
没办法改了 调用Str::snake的 不可能去改Str::snake吧
public function setTable($table)\
{
$this->table = $table;\
return $this;
}
改这个就好了
直接发结果 这是最后的结果 以后所有模型都继承Models
$connection 是据库的链接配置 有时候一个项目要用几个库的时候
class Models extends Model
{
protected $connection = 'ymysql';
//删除s
public function getTable()
{
$table = parent::getTable(); // TODO: Change the autogenerated stub
return substr($table,0,-1);
}
}
模型分库和去掉s已可以了 用查询构造器怎么分库?
//如果要用查询构造器 DB::table('q')->get();
还是用默认mysql的配置 想换成我们的其他库可以创建个服务提供者
控制器里面
本作品采用《CC 协议》,转载必须注明作者和本文链接
推荐文章: