首页 > 数据库 >laravel:多mysql数据库(10.27.0 )

laravel:多mysql数据库(10.27.0 )

时间:2023-10-24 09:03:39浏览次数:106  
标签:laravel CO 10.27 DB env mysql php public

一,相关文档

https://learnku.com/docs/laravel/10.x/database/14882#2cd405

二,php代码

1,编辑.env

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=gonews
DB_USERNAME=yourusername
DB_PASSWORD=yourpassword

CO_DB_CONNECTION=mysql
CO_DB_HOST=127.0.0.1
CO_DB_PORT=3306
CO_DB_DATABASE=gotouch
CO_DB_USERNAME=yourusername
CO_DB_PASSWORD=yourpassword

2,编辑config/database.php

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 'mysql' => [     'driver' => 'mysql',     'url' => env('DATABASE_URL'),     'host' => env('DB_HOST', '127.0.0.1'),     'port' => env('DB_PORT', '3306'),     'database' => env('DB_DATABASE', 'forge'),     'username' => env('DB_USERNAME', 'forge'),     'password' => env('DB_PASSWORD', ''),     'unix_socket' => env('DB_SOCKET', ''),     'charset' => 'utf8mb4',     'collation' => 'utf8mb4_unicode_ci',     'prefix' => '',     'prefix_indexes' => true,     'strict' => true,     'engine' => null,     'options' => extension_loaded('pdo_mysql') ? array_filter([         PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'),     ]) : [], ],   'co_mysql' => [     'driver' => 'mysql',     'url' => env('CO_DATABASE_URL'),     'host' => env('CO_DB_HOST', '127.0.0.1'),     'port' => env('CO_DB_PORT', '3306'),     'database' => env('CO_DB_DATABASE', 'forge'),     'username' => env('CO_DB_USERNAME', 'forge'),     'password' => env('CO_DB_PASSWORD', ''),     'unix_socket' => env('CO_DB_SOCKET', ''),     'charset' => 'utf8mb4',     'collation' => 'utf8mb4_unicode_ci',     'prefix' => '',     'prefix_indexes' => true,     'strict' => true,     'engine' => null,     'options' => extension_loaded('pdo_mysql') ? array_filter([         PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'),     ]) : [], ],

3,生成model

liuhongdi@lhdpc:/data/laravel/dignews$  php artisan make:model Comment

   INFO  Model [app/Models/Comment.php] created successfully.

4,model的代码:

app/Models/News.php:未指connection时使用默认的mysql连接

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 <?php   namespace App\Models;   use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model;   class News extends Model {     use HasFactory;       //定义关联的数据表     protected $table = 'news';       //定义主键     protected $primaryKey = 'news_id';       // 时间字段是否自动管理(created_at 和 updated_at字段)     public $timestamps  = false;       //添加数据     public function add($row){           $int = $this->insert($row);         return $int;     }       //读取全部数据     public function getAll() {        return $this->get()->toarray();     }       //分页读取数据     public function getPage($offset,$limit){         $rows = $this->orderBy('news_id','desc')->offset($offset)->limit($limit)->get();         return $rows;     } }

app/Models/Comment.php:代码中指定连接

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 <?php   namespace App\Models;   use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model;   class Comment extends Model {     use HasFactory;       //connection     protected $connection = 'co_mysql';       //定义关联的数据表     protected $table = 'it_comment';       //定义主键     protected $primaryKey = 'cm_id';       // 时间字段是否自动管理(created_at 和 updated_at字段)     public $timestamps  = false;       //读取全部数据     public function getAll() {         return $this->get()->toarray();     }       //读取一条数据     public function getOneById($cm_id) {         return $this->where('cm_id', $cm_id)->get()->toarray();     } }

5,在controller中访问:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 //获取请求参数  public function home(Request $request){        //得到新闻      $modelNews = new News();      $rowsNews = $modelNews->getPage(0,1);        //得到评论      $modelComment = new Comment();      $rowsComment = $modelComment->getOneById(3);        //返回数据      $data = [          "news"=>$rowsNews,          "comment"=>$rowsComment,      ];             return Result::Success($data);  }

说明:刘宏缔的架构森林—专注it技术的博客,
网站:https://blog.imgtouch.com
原文: https://blog.imgtouch.com/index.php/2023/10/23/laravel-duo-mysql-shu-ju-ku-10-27-0/
代码: https://github.com/liuhongdi/ 或 https://gitee.com/liuhongdi
说明:作者:刘宏缔 邮箱: [email protected]

三,测试效果:

显示了来自两个数据库中的数据:

四,查看laravel框架的版本:

liuhongdi@lhdpc:/data/laravel/dignews$ php artisan --version
Laravel Framework 10.27.0

标签:laravel,CO,10.27,DB,env,mysql,php,public
From: https://www.cnblogs.com/architectforest/p/17783915.html

相关文章

  • laravel:打印sql(10.27.0)
    一,php代码:1234567891011121314151617181920212223publicfunctionhome(Request$request){    //默认连接    DB::enableQueryLog();     $modelNews=newNews();    $rowsNews=$modelNews->getPage(0,1); ......
  • 华为云服务器+mysql部署
     MySQL 是一种开源的关系型数据库管理系统(RDBMS),它广泛用于存储和管理结构化数据。MySQL 最初由瑞典的 MySQL AB 公司开发,后来被 Oracle 公司收购。MySQL 提供了高性能、稳定性和可靠性,成为许多应用程序的常用数据库选择。以下是 MySQL 数据库的一些关键特点和功能:......
  • <<Mysql是怎样运行的>>小记-2
    第十章:单表访问方法MysqlServer中又有一个叫优化器的模块,在Mysql服务端对一条查询语句进行语法解析之后,会将其再交给优化器来进行优化,在优化后会获得一个执行计划.这个执行计划中表明了应该使用哪些索引查询,还有表之间的连接顺序等等.最后会按照该执行计划中的步骤调用存......
  • MySQL必知必会
    概述MySQL是一种数据库管理系统(DBMS),所管理的都是关系型数据库,特点就是以表的形式来存储数据,一个数据库中可以有多张表,表中划分为行和列,可以将一行对应于一个对象,而每一列所表示的就是对象的各个属性。在MySQL中用主键(PrimaryKey)来唯一的标识某一行,主键是一个列也可以是一组列,它......
  • MYSQL 5.6.40基本操作
    MYSQL5.6.40基本操作基本语句进入数据库(记得输入密码)mysql-uroot-p查看所有库showdatabases;打开库use库名创建库createdatabase库名;删除库dropdatabase库名;表打开库use库名;查看库里的表 showtables;创建表createtablet1(idint,name......
  • mysql
    一、存取数据的演变史1、文本文件使用文本文件存储数据的时候路径不固定数据格式不统一,一旦更换设备就容易出现无法使用的情况。 文件路径不固定:C:\aaa.txtD:\bbb.txtE:\ccc.txt 数据格式不统一:jason|123 jason$123 jason1232、软件开发目录规范规定了数据应该保存......
  • 复习一下mysql
    mysql复习:修改密码setpassowrd="123456";数据库创建:showdatabases;显示数据库createdatabasename;创建dropdatabasesname;删除usename;选中数据库操作表:createtablestudy(`id`int(5),`name`varchar(10));创建表showtables;显示所有表descname;显示表信息altert......
  • mysql的时间函数
    mysql中的时间函数一、EXTRACT(typeFROMdate)EXTRACT(typeFROMdate)表示从日期时间数据“date”中抽取“type”指定的部分。eg:1--按小时统计销售金额和销售数量2SELECTEXTRACT(HOURFROMb.transdate)AS时段,SUM(a.quantity)AS数量,3SUM(a.sale......
  • Mysql新增分区-Python版
    importdatetimeimportsysimportpandasaspdimportpymysqlimportsqlalchemy.engine.urlasengineUrlfromsqlalchemyimportcreate_engineDB_INFO={"host":"IP","port":3306,"username":"ro......
  • mysql 自定义函数的调用及赋值
    函数调用:select函数名(参数);函数返回值赋值:set变量名=(select函数名(参数));select函数名(参数)into变量名;示例:自定义函数内容 selecttest4(5)intoaa;setbb=(selecttest4(10));selectaa,bb; ......