laravel多数据库多表连接

首先
在config\database.php
mysql下面添加

'mysql_center' => [    'driver' => 'mysql',  
  'host' => env('DB_HOST_CENTER', 'localhost'),  
  'port' => env('DB_PORT_CENTER', '3306'),  
  'database' => env('DB_DATABASE_CENTER', 'forge'),  
  'username' => env('DB_USERNAME_CENTER', 'forge'),  
  'password' => env('DB_PASSWORD_CENTER', ''),  
  'charset' => 'utf8',   
 'collation' => 'utf8_unicode_ci',   
 'prefix' => '',   
 'strict' => false,   
 'engine' => null,],

在.env中添加

DB_HOST_CENTER=127.0.0.1
DB_PORT_CENTER=3306
DB_DATABASE_CENTER=数据库名02
DB_USERNAME_CENTER=root
DB_PASSWORD_CENTER=root

创建model,这个Business ,model默认是连接 数据库名02

<?phpnamespace App;use Illuminate\Database\Eloquent\Model;
class Business extends Model
{    
  protected $connection = 'mysql_center'; 
  protected $table = "users"; //数据表01   
  protected $fillable = array(        'name','email','password'    );
}

但是上面默认表示users,如果不制定的话,就不能用Eloquent ORM模型,但是想连接 数据库名02
的其他表怎么办?语法类似下面

\DB::connection('mysql_center')->table('//数据表02')->insert(表达式);

我实际项目中测试没有问题,如果你有更好的办法欢迎告诉我
欢迎关注我的blog:https://www.mixthe.me

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,860评论 18 139
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 172,996评论 25 708
  • 一,简单的数据导出(dumpdata)与导入(loaddate)(简单的迁移) 1,数据导出 pythonmana...
    huisheng阅读 5,392评论 0 6
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,198评论 4 61
  • 时至今日,Selenium已经到了3.3.1版了(2017年3月7日)。 自从Selenium3发布以来,火狐浏览...
    Moddy阅读 1,676评论 0 0