Sehr schnell, ich habe dieses Schulprojekt, an dem ich arbeite, aber mir scheint etwas ein Problem zu sein.Vergleicht man zwei Tabellen in Laravel, um zu prüfen, ob eine Zeile in den Tabellen existiert
ich habe:
Tabelle A - für Gebühren:
id | feename | fee_level | fee_acad_year
Tabelle B - für bezahlte Gebühren:
id | fee_id | student_number | payment_status
Also, was ich versuche zu tun ist das, ich möchte die Gebührentabelle für alle Gebühren durchlaufen und dann zu der bezahlten Gebührentabelle gehen, um zu überprüfen, ob die fee_id
gibt es dort in Bezug auf die Studentennummer und wo der Zahlungsstatus nur 1 ist, d. H. Bezahlt.
Wenn die fee_id
vorhanden ist, sollte sie als bezahlte die bezahlten markieren und sie in einem Array als bezahlt speichern.
Dann, wenn es nicht existiert, sollte es sie in einem anderen Array als nicht bezahlte speichern.
Hier ist mein Code:
// Fetch All fees for that level, semester and acamedic year
$fees = DB::table('fee')
->where([
['fee.Department','=',$csl->departmentid],
['fee.Semester','=',$csl->semesterid],
['fee.StudentLevel','=',$csl->levelid]
])
->select('id')
->get();
}
//return $fees;
$feeids = array();
foreach($fees as $fee){
$feeids[] = $fee->id;
}
//dd($feeids);
// Select all from paid fees
$paidFees = PaidFees::all();
$paidFeeIds = array();
foreach($paidFees as $pd) {
$paidFeeIds[] = $pd->FeeId;
}
$status = "";
if(in_array($feeids, $paidFeeIds)) {
$status = "paod";
}else {
$status = "Not Paid";
}
Dies ist der Teil, wo ich bin verwirrt.
ich die entrichteten Gebühren Modell haben, sollte ich definieren die Beziehung dort oder in der Steuerung oder dem Modell ich bin Ich werde die Beziehung in definieren, ich habe zwei Modelle, 1. PaidFees und 2. Fee –
@AdewumiGabriel müssen Sie es in 'Fee' Modell definieren. –
Ok ich habe die IDs, aber können Sie erklären, was dieser Code tut –