Когда я обновляю какой-либо столбец в таблице 'DB_1.users' в то время, я хочу изменить тот же столбец в таблице 'DB_2.all_users' - PullRequest
1 голос
/ 26 сентября 2019

У меня есть две таблицы с именами 'DB_1.users' и 'DB_2.all_users' с одинаковыми столбцами.
Обе таблицы находятся в другой базе данных.
Когда я обновляю любой столбец в 'DB_1.users'В то время я хочу изменить тот же столбец в таблице 'DB_2.all_users'.Есть ли какой-нибудь самый простой способ сделать это?

Использование Laravel 5.8

1 Ответ

1 голос
/ 26 сентября 2019

Простейшим способом IMHO является создание двух разных моделей в вашем приложении, а также двух разных соединений с базой данных в вашем config/database.php файле.

Если вы посмотрите на Eloquent документацию вы увидите, что Модель может установить конкретное соединение с базой данных.

Подключение к базе данных

По умолчанию все модели 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, который возвращает вам массив с обеими моделями, особенно если каждая операция, выполненная с первым объектом, должна быть выполнена свторой также.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...