Ich benutze Laravel Paginierung für die Liste. Es gibt zwei Tabellen, sagen wir table1
& table2
.Laravel Paginierung funktioniert nicht mit Join, wo die Bedingung
table2
id
ist Primärschlüssel & als Fremdschlüssel verwendet in table1
t2_id
ich alle einzigartigen t2_id
erhalten möchten, müssen aber is_deleted überprüfen, ist für diese ID in table2 nicht gesetzt.
Ich habe Funktion in meinem Modell geschrieben:
public function getDistinctIds() {
return DB::connection('pgsql')
->table('table1 AS t1')
->distinct()
->select('t1.t2_id')
->join('table2 AS t2', 't2.id', '=', 't1.t2_id')
->where('t2.is_deleted', '!=', 1)
->orWhereNull('t2.is_deleted')
->paginate(3);
}
Diese Funktion gibt mir genaues Ergebnis. Aber es gibt ein Problem mit Seitenumbruch. Es gibt 12 Datensätze in table1
getDistinctIds()
gibt nur 4 Datensatz, so sollte es zwei Seiten sein, aber es zeigt 4 Seiten. Ich denke, die Paginierung berücksichtigt nicht die Bedingungen.
Bitte helfen Sie, danke im Voraus!
Was die Tabelle getDistinctIDs ist die Abfrage Dump und auf den db laufen, müssen Sie wahrscheinlich einen LEFT JOIN oder Operator Vorrang verunstaltet WHERE Bedingungen – Mihai
@Mihai getDistinctIDs das ist? Funktionsrückkehr im Modell. es gibt genaues Ergebnis, es gibt 4 Reihen zurück, also sollte es 2 Seiten geben, aber es zeigt stattdessen 4 Seiten Verbindungen an – Omi