У меня два приложения, на двух разных серверах. В первом приложении Laravel у меня есть Модель пользователя, а во втором приложении - Модель блога.
Между ними есть отношения "многие ко многим", у пользователя может быть несколько блогов, и один блог может принадлежать множеству пользователей. У них две разные базы данных, но все на одном сервере построено как его единственное приложение.
У них есть REST API и его связь между ними. Проблема в том, что я не могу установить между ними настоящие отношения (например, принадлежитToMany в модели Eloquent), и я не могу перечислить блоги пользователей.
Есть ли способ скопировать функцию отношения "Пользователь :: блоги ()" с некоторой обработкой запросов на Блог :: класс? Например, выбрать в сводной таблице все блоги, где user_id равен 1?
Потому что он на другом сервере, в другом приложении laravel. Они не видят друг друга, у меня между ними только API.






<?php
class User extends Model{
protected $connection = 'Your Connection';
public function blogs(){
return $this->belongsToMany(Blog::class);
}
}
Blog.php
class Blog extends Model{
protected $connection = 'Your other connection';
public function users(){
return $this->belongsToMany(User::class);
}
}
Вы можете установить несколько подключений в вашем database.php и назначить каждой модели отдельное подключение.
Я предполагаю, что у вас есть таблица user_blogs. где-то
надеюсь это поможет.
Что ж, я знаю это, но, как я уже сказал, у меня есть два разных приложения на laravel. Но вот решение: Blog :: join ('blog_user', 'blogs.id', '=', 'blog_user.blog_id') -> where ('blog_user.user_i d', '=', $ this-> userId) -> получить ();
`protected $ connection = 'Другое ваше соединение'; `это для другого подключения
Нашел вот так:
Blog::join('blog_user', 'blogs.id','=','blog_user.blog_id')->where('blog_user.user_id', '=', $this->userId)->get();
Почему ты не можешь наладить отношения?