2017-01-16 3 views
1


У меня есть вопрос относительно проектирования/реорганизации существующего приложения. Мое существующее приложение находится в Laravel. У нас есть такие модели, как User, которые, как вы думаете, связаны с таблицей Users в базе данных.
Теперь я планирую переместить эту таблицу пользователей во внешнюю базу данных, которую можно получить из моего приложения с вызовом API.
Во всех разных частях приложения есть вызовы модели текущего пользователя, такие как User :: find (Id). Это больше не будет работать, так как теперь в базе данных больше нет таблицы пользователей.
Изменение модели Laravel до API

1-й вопрос: как выполнить вышеуказанное, изменив ссылку на модель, чтобы вызвать API вместо таблицы БД. Есть ли какой-либо шаблон дизайна, который можно использовать, чтобы мне не пришлось изменять все User :: find во всех приложениях.

2-й вопрос: Как бы вы обрабатывали места, где таблица напрямую ссылается на объединения. Как table.x = User.x

Любая помощь/руководство будут оценены. Спасибо

ответ

0

Похоже, что вам нужен слой, который сидит над вашими моделями (возможно, что-то похожее на Repository Pattern). Таким образом, вы можете абстрагировать свой уровень доступа к данным (в настоящее время модели) и сделать его легко заменяемым для другой реализации (например, запросов API). Это немного больше работы в Laravel 4, чем 5, и может потребовать значительного рефакторинга.

Что касается вашего второго вопроса, ваш API должен будет управлять более продвинутыми запросами и иметь для них конечную точку/метод.

+0

Большое спасибо –

Смежные вопросы