美文网首页
laravel多数据库多表连接

laravel多数据库多表连接

作者: 我是你军哥 | 来源:发表于2016-11-29 17:34 被阅读1562次

    首先
    在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

    相关文章

      网友评论

          本文标题:laravel多数据库多表连接

          本文链接:https://www.haomeiwen.com/subject/dufzpttx.html