Ben sol kullanarak birden çok tablodan veri çekme bir sorgu üzerinde çalışıyorum bu gibi katılır:
$query = " SELECT users.name, users.email, address.street, address.city, address.state, address.zip FROM users LEFT JOIN( SELECT addresses.street, addresses.city, addresses.state, addresses.zip, `addresses.user_id ` FROM addresses ) AS address ON users.id = `address.user_id` WHERE users.id = 1"; $mysql = new mysql(HOST, USER, PASS, DBNAME); $result = $mysql->query($query)->fetch_object();
Ben bu gibi sonuçlara erişebilirsiniz şimdi almak sonuçları:
// get name $result->name; //get street address $result->street;
Sorgu sonunda bundan biraz daha karmaşık bir şey olacak beri. Bu gibi verilere erişmek mümkün olmak istiyorum:
// get user name $result->user->name; // get the street address $result->address->street;
Bu tablo bazı benzer alanları adında beri, okumak için veri daha kolay vermenize yardımcı olacaktır.
Any help would be great thanks.
EDIT: (in response to Steve)
I am familiar with ORMs, and I'm currently using the Kohana framework. My interest is in cutting down on the actually number of queries run. The ORM in the Kohana framework calls a "SELECT *" for each table/model that you call. I'd prefer not to do that if I dont have to.
(Örnekte görüldüğü gibi) iki ayrı sorgu çalıştıran bir anlaşma büyük değil, ama benim gerçek örnekte ben yaklaşık 10 ayrı tablodan veri çekerek olacak, bu yüzden ziyade işlevselliği elde etmek için ayrı sorguları çalıştırmak istemiyorum i açıklayan oldu