Medoo PHP Framework и объединение нескольких таблиц
Попытка присоединиться к 3 столам: лиги, лиги_команды и команды.
С помощью запроса:
$teams = $database->select(
'teams',
[
'[>]leagues_teams' =>
[
'fifa_id' => 'fifa_team_id'
],
'[>]leagues' =>
[
'fifa_league_id' => 'fifa_id'
]
], [
'teams.fifa_id',
'teams.name',
'teams.rating'
], [
'ORDER' => 'teams.name ASC'
]
);
Что приводит к следующему запросу:
SELECT "teams"."fifa_id","teams"."name","teams"."rating"
FROM "teams"
LEFT JOIN "leagues_teams" ON "teams"."fifa_id" = "leagues_teams"."fifa_team_id"
LEFT JOIN "leagues" ON "teams"."fifa_league_id" = "leagues"."fifa_id"
ORDER BY "teams"."name" ASC
При добавлении второго LEFT JOIN, он должен присоединиться с league_teams.fifa_league_id=leagues.fifa_id, а не teams.fifa_league_id
Как бы я пошел об этом присоединении?
1 ответ
В случае, если у кого-то все еще была эта проблема, из документации MEDOO:
Вы можете сослаться на предыдущую объединенную таблицу, добавив имя таблицы перед столбцом.
Пример:
"[>]album" => ["account.user_id" => "user_id"],