Проблема: Я хочу получить Клиентов только в том случае, если они уже разместили заказ на текущий год. Клиенты и ордера находятся на двух отдельных Базах данных (это не может измениться). Все отношения настроены и работают правильно, но когда я пытаюсь сделать следующее, я продолжаю получать SQL-ошибку, поскольку пытается найти «заказы» в базе данных «клиентов». Есть ли способ заставить Laravel использовать правильную базу данных в этом сценарии?Laravel whereHas через две отдельные базы данных
$customers = $customers->whereHas('orders', function($query){
$query->where('academic_year_id', '=', $this->current_academic_year->id);
});
$customers = $customers->orderBy('DFKEY','ASC')->get();
заказа Модель:
public function customer()
{
return $this->belongsTo('Customer','dfkey');
}
Клиент Модель:
protected $connection = 'mysql2';
public function orders()
{
return $this->hasMany('Order','dfkey','DFKEY');
}
Заранее спасибо!
звучит как есть проблема с отношениями , заказы принадлежат ToMany отношения с клиентами? Вам нужна функция заказов в модели Customer. Также мне кажется, что вам нужно получить оператор в конце, чтобы фактически вернуть результаты. –
Спасибо за ответ. Я обновил свой оригинальный вопрос более подробно ... – Pedro
http: // fideloper .com/laravel-multiple-database-connections – Sachin