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的配置 想换成我们的其他库可以创建个服务提供者
laravel去掉模型s 和多库


控制器里面

laravel去掉模型s 和多库

本作品采用《CC 协议》,转载必须注明作者和本文链接
专心学习不瞎搞
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 1

复数末尾除 s 还有 es、y->ies,有可能单数本身就有s …… :smirk:

3年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!
未填写
文章
89
粉丝
108
喜欢
481
收藏
724
排名:108
访问:8.8 万
私信
所有博文
社区赞助商