Laravel создать отношения от API к таблице - PullRequest
1 голос
/ 06 января 2020

Можно ли создавать отношения один-к-одному с помощью API?

У меня есть этот проект, и я создал API из моей таблицы с именем LEADS, тогда внутри отведений есть столбец с именем lead_id.

Теперь во втором проекте у меня есть таблица USER затем я хочу подключить lead_id к моей пользовательской таблице как отношение один к одному.

Или, если у вас есть лучшее представление о том, как справиться с этим подходом, я был бы рад рассмотреть его, спасибо.

1 Ответ

0 голосов
/ 06 января 2020

Если у вас есть несколько баз данных, это довольно легко настроить. Сначала добавьте еще одно соединение в database.php.

        ...
            'mysql_secondary' => [
            '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',
            ...
        ],

Во-первых, я предполагаю, что у вас есть 2 модели Lead и User .

Чтобы создать связь между Пользователь и Lead ,

// user.php
class User extends Authenticatable {
    use Notifiable;
    // the connection defaults to the one set in 'database.php' 
    // (usually specified by DB_CONNECTION)

    public function lead() {
        return $this->belongsTo(Lead::class);
    }
}

// lead.php
class Lead extends Eloquent {
    protected $table = 'leads';
    // specify the DB connection
    protected $connection = 'mysql_secondary';
}

// to obtain lead from user...
$user = User::find(1);
$lead = $user->lead;

Я бы предложил вам посетить документацию Laravel , поскольку это очень полный источник документации, более конкретно отношения для ответа на ваш вопрос.

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