3 つの異なるテーブルの内容を取得しようとしています。
テーブル A = ユーザー リストが含まれています。テーブル B = ユーザーに関連する契約を返します。テーブル C = 契約に関連する式の詳細を返します。
正しい方法にするために、次のマルチテーブルリクエストを使用しています:
SELECT * FROM rscm_students A, rscm_files B, rscm_formulas C
WHERE B.dossier_status = 0
AND A.student_agency = :agency
AND B.file_student_id = A.id
AND B.file_formula_id = C.id
AND C.formula_place = 0
GROUP BY A.student_uniqid
ORDER BY B.file_date_create";
ここで、全体が少し複雑になります。正しいデータを返していますが、ここのすべてのテーブルの主キーは「id」と呼ばれています。PHPでforeachを実行できません。1 人のユーザーに対して 3 つの契約を取得した場合、すべての契約を同じユーザー配列に再グループ化することは不可能です。
私はまだ SQL の専門家ではありません。そのため、Phinx を使用してデータベースを制御しています。これが、主キーの名前が「id」である理由でもあります。
いいアイデアがあれば教えてください!