这几天在使用Laravel 开发一个系统。这个系统连2个数据库。一个名为blog,一个名为center。
center 数据库的作用是作为用户中心。可能会有其他几个系统相连,属于公用数据库。主要是用来用户登录认证。
blog 数据库的作用是放文章,不会牵扯到认证方面。

我的想法是使用center数据库作为用户的登录认证,登录以后在发文章切换到blog数据库。

目前我的.env配置如下

DB_HOST=localhost
DB_DATABASE=blog
DB_DATABASE_CENTER=center
DB_USERNAME=root
DB_PASSWORD=root

database.php 里设计如下

    'mysql' => [
'driver' => 'mysql',
'host' => env('DB_HOST', 'localhost'),
'database' => env('DB_DATABASE', 'forge'),
'username' => env('DB_USERNAME', 'forge'),
'password' => env('DB_PASSWORD', ''),
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
'strict' => false,
],
'mysql_center' => [
'driver' => 'mysql',
'host' => env('DB_HOST', 'localhost'),
'database' => env('DB_DATABASE_CENTER', 'forge'),
'username' => env('DB_USERNAME', 'forge'),
'password' => env('DB_PASSWORD', ''),
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
'strict' => false,
],

我自己建立的model User.php 是可以通过下面这种方式切换数据库的。

class User extends Model implements AuthenticatableContract, CanResetPasswordContract
{
protected $connection = 'mysql_center';

但是系统自带的例子Controller 要怎么切换数据库呢?

app\Http\Controllers\Auth\AuthController.php
app\Http\Controllers\Auth\PasswordController.php

希望大家能帮忙解答一下,谢谢!

 

4个回答

 

0

已采纳

看看文档: http://laravel.com/docs/master/authentication

AuthController 默认是使用 “App\User” Eloquent model, 同样的, 你在App\User里指定某一个数据库就是了

 

0

补充一下 laravel 5 自带的 Auth 案例里实现的登录注册和密码找回两个部分。
对于注册登录部分 可以使用ylem的方法。

对于密码找回,需要在/config/auth.php里面进行设置。
例如:

'table' => 'mydatabases.password_resets',
 

0

'host'      => env('DB_HOST', 'localhost'),
'database' => env('DB_DATABASE_CENTER', 'forge'),
'username' => env('DB_USERNAME', 'forge'),
'password' => env('DB_PASSWORD', ''),
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci', ==================写法错误……去掉env , env('DB_DATABASE_CENTER', 'forge')只留下'forge',
env('DB_PASSWORD', ''),只留下 '' /* 我了解决这个问题,作为一个新手,我耗费了累计时间 两天 */
 

0

在控制器里这样写

 
 $results = DB::connection('mysql')->select('...');
$results = DB::connection('mysql_center')->select('...');

Laravel 使用多个数据库的问题。的更多相关文章

  1. Laravel教程 四:数据库和Eloquent

    Laravel教程 四:数据库和Eloquent 此文章为原创文章,未经同意,禁止转载. Eloquent Database 上一篇写了一些Laravel Blade的基本用法和给视图传递变量的几种方 ...

  2. laravel使用ORM操作数据库

    laravel使用ORM操作数据库 public function mode(){ //查询所有 $isok=Student::get(); 新增. (1) $isok=Student::create ...

  3. Laravel框架中的数据库CURD操作、连贯操作、链式操作的用法

    Laravel是一套简洁.优雅的PHP Web开发框架(PHP Web Framework).它可以让你从面条一样杂乱的代码中解脱出来:它可以帮你构建一个完美的网络APP,而且每行代码都可以简洁.富于 ...

  4. laravel如何从mysql数据库中随机抽取n条数据

    laravel如何从mysql数据库中随机抽取n条数据 一.总结 一句话总结: inRandomOrder():$userQuestions=UserQuestion::where($map)-> ...

  5. laravel框架总结(七) -- 数据库操作

      1.使用DB门面进行基本操作 一旦你设置好了数据库连接,就可以使用 DB facade 来进行查找.DB facade 提供每个类型的查找方法:select.update.insert.delet ...

  6. laravel记录笔记Laravel 连接数据库、操作数据库的三种方式

    laravel中提供DB facade(原始查找).查询构造器.Eloquent ORM三种操作数据库方式 1.连接数据库 .env 数据库配置 DB_HOST=localhost dbhost DB ...

  7. Laravel 实践之路: 数据库迁移与数据填充

    数据库迁移实际上就是对数据库库表的结构变化做版本控制,之前对数据库库表结构做修改的方式比较原始,比如说对某张库表新增了一个字段,都是直接在库表中执行alter table xxx add .. 的方式 ...

  8. laravel的模型和数据库基础操作

    laravel分为三大数据库操作(DB facade[原始查找],查询构造器[Query Builder],Eloquent ORM): use Illuminate\Support\Facades\ ...

  9. laravel 增删改查 数据库设置 路由设置

    laravel 框架的路由设置: url: http://www.shanzezhao.com/laraverl/my_laravel/public/index.php/indexs laravel ...

随机推荐

  1. C++ STL--stack/queue 的使用方法

    1.stack stack 模板类的定义在<stack>头文件中.stack 模板类需要两个模板参数,一个是元素类型,一个容器类型,但只有元素类型是必要的,在不指定容器类型时,默认的容器类 ...

  2. 上下文管理、线程池、redis订阅和发布

    一:上下文管理: 对于一些对象在使用之后,需要关闭操作的.比如说:socket.mysql数据库连接.文件句柄等. 都可以用上下文来管理. 语法结构: Typical usage: @contextm ...

  3. github中redme添加图片

    README文件后缀名为md.md是markdown的缩写,markdown是一种编辑博客的语言.格式如下: ![](img_url) 即 叹号! + 方括号[ ] + 括号( ) 其中叹号里是图片的 ...

  4. C# 调用百度翻译Api

    这是简单的界面.用的是wpf,winform也可以 具体的操作类 public partial class MainWindow : Window { string url = "" ...

  5. Option

    在scala中Option是一个有可能包含值的容器 Option对应的特质如下 trait Option[T] { def isDefined: Boolean def get: T def getO ...

  6. 实现AJAX的异步交互的步骤

    <input type="button" value="异步请求"id="btn"> <script> 实现ajax ...

  7. c语言数据结构之 快速排序

    编译器:VS2013 #include "stdafx.h"#include<stdlib.h> //函数声明 void QuickSort(int a[],int n ...

  8. QML Image: Cannot open: qrc:///new.pic.png

    初次遇到这个问题真有点摸不着头脑,于是乎百度一下咯,但是百度一向没有什么用,该有的没有,没用的回答倒是有特么一大堆. 自己解决: 我的解决方法很简答: 第一步:把图片放到当前路径下,也就是和.pro一 ...

  9. java.lang.NoClassDefFoundError: de.greenrobot.event.EventBus

    转自:http://blog.csdn.net/jyp123123/article/details/52836905 java.lang.NoClassDefFoundError: de.greenr ...

  10. RMQ算法模板

    分别写了下标从0和1开始的两种 #include<stdio.h> #include<string.h> #include<algorithm> #include& ...