Places と Users の 2 つのテーブルがあります。
-- Places Table: --
+------------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+------------+--------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| name | varchar(255) | NO | | NULL | |
| type | varchar(15) | NO | | NULL | |
| parent_id | int(11) | YES | MUL | NULL | |
+------------+--------------+------+-----+---------+----------------+
-- Users Table: --
+------------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+------------+--------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| name | varchar(255) | NO | | NULL | |
| city_id | int(11) | YES | MUL | NULL | |
+------------+--------------+------+-----+---------+----------------+
Places テーブルを使用する 3 つのモデルがあり、すべてが Place モデルのサブクラスです。places.type 列にはサブクラスのクラス名が保持されているため、それがどのモデルに属しているかがわかります。
国、州、市。
したがって、継承構造は次のようになります。
国 < 場所 州 < 場所 都市 < 場所
関係は次のとおりです。
国には多くの州があります 州には多くの都市があります 都市には多くのユーザーがいます
州と市を介して参加することにより、特定の国内のすべてのユーザーを返したいのですが、SQL クエリが機能しません。
私を正しい方向に向けることができるSQLの達人はいますか?