Jak na použití SELECT v table() a vybrání více tabulek?
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- kikinet
- Člen | 35
Ahoj,
mám tento dotaz:
$this->database->table('seats_layout')->where('seats_layout_is_active', '1')->where($filters)->select('id_seats_layout, seats_layout_name, events.events_name');
Ten však vyhazuje
No reference found for $seats_layout->events.
V tabulce seats_layout
totiž není cizí klíč pro tabulku
events
.
Fungující dotaz v mysql vypadá takto:
SELECT events.events_name, seats_layout.seats_layout_name
FROM seats_layout,
(SELECT id_seats FROM seats, seats_layout WHERE seats_seats_layout_id = id_seats_layout) as j_seats
JOIN zones_seats
ON seats_id = j_seats.id_seats
JOIN zones_group
ON id_zones_group = zones_seats.zones_id
JOIN events
ON id_events = zones_group_events_id
GROUP BY events_name
Jak na takový dotaz? Seknu se už na bodě, kdy v příkazu FROM provádím
SELECT.
Děkuji
Editoval kikinet (29. 4. 2015 18:18)
- Pavel Kravčík
- Člen | 1196
Na takové příkazy se dá použít query, ale musíš si ty data pak zpracovat do entit nebo tvé logiky
$this->database->query()->fetchAll();