|
Имя унаследованной таблицы в запросе по базовой.
|
|||
---|---|---|---|
#18+
Надо сделать запрос по базовой таблице и исключить все записи по производному классу. Что-то типа: SELECT COUNT(ID) FROM BASETABLE WHERE %classname <> 'DERIVEDTABLE' Собственно в документации нашёл %classname и %tablename, но они оба указывают на базовый класс, поэтому они бесполезны здесь. Если смотреть глобал, где хранятся данные по базовым и производным данным (^BASETABLE), то в первом данном как раз-таки и будет имя конечного класса (или пусто, если объект создавался через базовый класс, а не производный). Вопрос в том, как до этого данного достучаться через SQL. Через объектный доступ получить это имя легко $classname(obj), а вот через SQL не нашёл, как это сделать. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.08.2016, 03:35 |
|
Имя унаследованной таблицы в запросе по базовой.
|
|||
---|---|---|---|
#18+
Vixler, SELECT COUNT(ID) FROM BASETABLE WHERE x__classname is null ... |
|||
:
Нравится:
Не нравится:
|
|||
26.08.2016, 04:22 |
|
Имя унаследованной таблицы в запросе по базовой.
|
|||
---|---|---|---|
#18+
VixlerЕсли смотреть глобал, где хранятся данные по базовым и производным данным (^BASETABLE), то в первом данном как раз-таки и будет имя конечного класса (или пусто, если объект создавался через базовый класс, а не производный). Вопрос в том, как до этого данного достучаться через SQL. Через объектный доступ получить это имя легко $classname(obj), а вот через SQL не нашёл, как это сделать.Если посмотрите SQL-структуру Вашей таблицы в Портале, то легко найдёте все скрытые/служебные поля. PS: мало сделать выборку, нужно ещё добиться высокой скорости этого запроса через индексацию поля x__classname. Но это уже другая тема, которая здесь также обсуждалась. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.09.2016, 08:40 |
|
|
start [/forum/topic.php?fid=39&msg=39304179&tid=1556433]: |
0ms |
get settings: |
10ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
41ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
36ms |
get tp. blocked users: |
1ms |
others: | 267ms |
total: | 383ms |
0 / 0 |