- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
$select = $db->select()
->from('advertisement AS a', $columns)
->joinLeft('resid_apt_secondary AS ras', 'ras.resid_apartment_residental_advertisement_id=a.id', array())
->joinLeft('resid_apt_newly_unready AS ranu', 'ranu.resid_apartment_residental_advertisement_id=a.id', array())
->joinLeft('resid_apt_newly_ready AS ranr', 'ranr.resid_apartment_residental_advertisement_id=a.id', array())
->joinLeft('resid_house_house AS rh', 'rh.resid_house_residental_advertisement_id=a.id', array())
->joinLeft('resid_house_cottage AS rc', 'rc.resid_house_residental_advertisement_id=a.id', array())
->joinLeft('resid_house_dacha AS rd', 'rd.resid_house_residental_advertisement_id=a.id', array())
->joinLeft('resid_garage AS rg', 'rg.residental_advertisement_id=a.id', array())
->joinLeft('sec_residental AS sr', 'sr.section_advertisement_id=a.id', array())
->joinLeft('bld_prod_common AS bpc', 'bpc.bld_production_commercial_advertisement_id=a.id', array())
->joinLeft('bld_prod_food AS bpf', 'bpf.bld_production_commercial_advertisement_id=a.id', array())
->joinLeft('bld_prod_restaurant AS bpr', 'bpr.bld_production_commercial_advertisement_id=a.id', array())
->joinLeft('bld_prod_warehouse AS bpw', 'bpw.bld_production_commercial_advertisement_id=a.id', array())
->joinLeft('bld_prod_garage AS bpg', 'bpg.bld_production_commercial_advertisement_id=a.id', array())
->joinLeft('bld_prod_service_station AS bpss', 'bpss.bld_production_commercial_advertisement_id=a.id', array())
->joinLeft('bld_prod_other AS bpo', 'bpo.bld_production_commercial_advertisement_id=a.id', array())
->joinLeft('bld_office_any AS boa', 'boa.bld_office_commercial_advertisement_id=a.id', array())
->joinLeft('bld_office_admin AS boad', 'boad.bld_office_commercial_advertisement_id=a.id', array())
->joinLeft('bld_office_sales AS bos', 'bos.bld_office_commercial_advertisement_id=a.id', array())
->joinLeft('bld_office_kiosk AS bok', 'bok.bld_office_commercial_advertisement_id=a.id', array())
->joinLeft('bld_farm_cowshed AS bfc', 'bfc.bld_farm_commercial_advertisement_id=a.id', array())
->joinLeft('bld_farm_workshop AS bfw', 'bfw.bld_farm_commercial_advertisement_id=a.id', array())
->joinLeft('bld_farm_chicken_house AS bfch', 'bfch.bld_farm_commercial_advertisement_id=a.id', array())
->joinLeft('bld_farm_other AS bfo', 'bfo.bld_farm_commercial_advertisement_id=a.id', array())
->joinLeft('gas_station AS gs', 'gs.commercial_advertisement_id=a.id', array())
->joinLeft('rm_prod_common AS rpc', 'rpc.room_production_commercial_advertisement_id=a.id', array())
->joinLeft('rm_prod_food AS rpf', 'rpf.room_production_commercial_advertisement_id=a.id', array())
->joinLeft('rm_prod_restaurant AS rpr', 'rpr.room_production_commercial_advertisement_id=a.id', array())
->joinLeft('rm_prod_warehouse AS rpw', 'rpw.room_production_commercial_advertisement_id=a.id', array())
->joinLeft('rm_prod_garage AS rpg', 'rpg.room_production_commercial_advertisement_id=a.id', array())
->joinLeft('rm_prod_service_station AS rpss', 'rpss.room_production_commercial_advertisement_id=a.id', array())
->joinLeft('rm_prod_other AS rpo', 'rpo.room_production_commercial_advertisement_id=a.id', array())
->joinLeft('rm_office_any AS roa', 'roa.rm_office_commercial_advertisement_id=a.id', array())
->joinLeft('rm_office_sales AS ros', 'ros.rm_office_commercial_advertisement_id=a.id', array())
->joinLeft('rm_office_off AS roo', 'roo.rm_office_commercial_advertisement_id=a.id', array())
->joinLeft('rm_office_admin AS road', 'road.rm_office_commercial_advertisement_id=a.id', array())
->joinLeft('rm_office_hall_rental AS roh', 'roh.rm_office_commercial_advertisement_id=a.id', array())
->where('is_recycled = ?', 'no')
->where('is_published = ?', 'yes')
->group(array('a.type', 'a.in_archive'));
Переделываем проект. В старой версии нашел следующие строчки.
nobody 25.07.2011 16:31 # −2
nkarakin 25.07.2011 16:36 # −1
yasenhui 25.07.2011 16:42 # +9
ilovephp 25.07.2011 16:48 # −3
Nemoden 27.07.2011 15:25 # 0
Vasiliy 27.07.2011 15:29 # 0
Nemoden 27.07.2011 15:30 # 0
Vasiliy 27.07.2011 16:56 # −1
guest 27.07.2011 17:06 # 0
Nemoden 27.07.2011 17:12 # 0
Vasiliy 28.07.2011 07:55 # +1
Lure Of Chaos 25.07.2011 16:46 # +2
nkarakin 25.07.2011 17:10 # −1
Yurik 25.07.2011 16:55 # −2
nkarakin 25.07.2011 17:09 # −1
guest 12.08.2011 10:37 # 0
RaZeR 25.07.2011 18:30 # −3
blyad proebal food
nkarakin 25.07.2011 23:03 # −1
bugmenot 25.07.2011 20:18 # −1
результирующий запрос был бы годным говнокодом в разделе SQL
Lure Of Chaos 25.07.2011 21:57 # −1
это о чем вы?
bugmenot 26.07.2011 00:52 # −1
поэтому наворотили какое жуткое уродство
ни хера же не структурированное говно получилось
Lure Of Chaos 26.07.2011 09:31 # −1
guest 26.07.2011 09:52 # +2
PHP-код здесь на троечку, но это легко исправляется (надо только вынести все конструкции "AS tbl_alias", они не там должны быть).
ps. Благодаря этому конструктору SQL-запросов (он из ZF), у меня проект легко и непринужденно переключается с SQLite на Oracle. И не только переключается, но и работает :)
bugmenot 26.07.2011 10:31 # −1
каюсь, попутал быдлокодеров
ценность такой масштабируемости вызывает сомнения
eth0 25.07.2011 20:42 # 0
Интересно, чем отличается
leftJoin("ABC abc_ on abc_. [...]")
от
. "left join ABC abc_ on abc_.[...]" . "left join [...]"
Видимо, чертовски переусложнённая система.
Lure Of Chaos 25.07.2011 21:58 # −1
eth0 26.07.2011 20:45 # 0
Lure Of Chaos 26.07.2011 20:57 # −1
sayidandrtfm 25.07.2011 20:48 # 0
guest 25.07.2011 21:27 # −10
Lure Of Chaos 25.07.2011 21:59 # +6
nethak 27.07.2011 09:16 # −3
shmaltorhbooks 25.07.2011 21:51 # −1
а тут кроме того, что человек не знает параметров Zend_Db_Select, нет ничего особенно говнокодистого.
хотя, возможно, это именно тот случай, когда несколько запросов выполняются быстрее, чем один
nkarakin 25.07.2011 23:12 # +1
wvxvw 26.07.2011 09:37 # 0
warider 28.07.2011 09:02 # −3
Vasiliy 28.07.2011 10:14 # −1