Problem: Ich möchte Kunden nur erhalten, wenn sie bereits eine Bestellung für das laufende Jahr aufgegeben haben. Kunden und Bestellungen sind in zwei separaten Datenbanken (dies kann nicht geändert werden). Die Beziehungen sind alle eingerichtet und funktionieren korrekt, aber wenn ich Folgendes versuche, bekomme ich immer einen SQL-Fehler, während es versucht, "Bestellungen" in der "Kunden" -Datenbank zu suchen. Gibt es trotzdem einen Grund, Laravel zu zwingen, in diesem Szenario die richtige Datenbank zu verwenden?Laravel whereHas über zwei separate Datenbanken
$customers = $customers->whereHas('orders', function($query){
$query->where('academic_year_id', '=', $this->current_academic_year->id);
});
$customers = $customers->orderBy('DFKEY','ASC')->get();
Bestellen Modell:
public function customer()
{
return $this->belongsTo('Customer','dfkey');
}
Kunden Modell:
protected $connection = 'mysql2';
public function orders()
{
return $this->hasMany('Order','dfkey','DFKEY');
}
Vielen Dank im Voraus!
klingt wie ein Problem mit den Beziehungen gibt es Gibt es eine "goesToMany" -Beziehung zu Kunden? Sie benötigen eine Auftragsfunktion im Kundenmodell, außerdem denke ich, dass Sie am Ende eine get-Anweisung benötigen, um die Ergebnisse tatsächlich zurückzugeben –
Danke für die Antwort, ich habe meine ursprüngliche Frage mit mehr Details aktualisiert ... – Pedro
http: // fideloper .com/Laravel-multiple-Datenbank-Verbindungen – Sachin