【发布时间】:2019-09-26 08:24:29
【问题描述】:
我有两个名为“DB_1.users”和“DB_2.all_users”的表具有相同的列。
这两个表位于不同的数据库中。
当我当时更新“DB_1.users”表中的任何列时,我想更改“DB_2.all_users”表中的同一列。
有什么最简单的方法吗?
使用 laravel 5.8
【问题讨论】:
我有两个名为“DB_1.users”和“DB_2.all_users”的表具有相同的列。
这两个表位于不同的数据库中。
当我当时更新“DB_1.users”表中的任何列时,我想更改“DB_2.all_users”表中的同一列。
有什么最简单的方法吗?
使用 laravel 5.8
【问题讨论】:
恕我直言,最简单的方法是在您的应用程序中创建两个不同的模型,并在 config/database.php 文件中创建两个不同的数据库连接。
如果您查看Eloquent documentation,您会发现模型可以设置特定的数据库连接。
数据库连接
默认情况下,所有 Eloquent 模型都将使用为您的应用程序配置的默认数据库连接。如果您想为模型指定不同的连接,请使用 $connection 属性:
<?php namespace App; use Illuminate\Database\Eloquent\Model; class Flight extends Model { /** * The connection name for the model. * * @var string */ protected $connection = 'connection-name'; }
通过这种方式,您可以为Model1 设置默认连接,为Model2 设置第二个数据库连接。
也许为了减少你的代码冗余,你可以为 CRUD 操作创建一个帮助器,它返回一个包含两个模型的数组,特别是如果对第一个对象进行的每个操作也必须对第二个对象进行。
【讨论】: