Сортировка по extend полю в userProfile2
Добрый день, не могу понять как сделать сортировку по полю «bal» которую добавил во вкладку «info»
предполагаю что нужно прописывать &where, но как именно сделать запрос не могу сообразить.
не подскажите решение?
[[!up2Users? &groups=`Users`
&toPlaceholder=`users`
&sortby=`bal`
&sortdir=`asc`
&showLog=`1`
]]
[[+users]]
такой вызов конечно же выдаёт ошибку " Could not process query, error #1054: Unknown column 'bal' in 'order clause'"предполагаю что нужно прописывать &where, но как именно сделать запрос не могу сообразить.
не подскажите решение?
Поблагодарить автора
Отправить деньги
Комментарии: 2
не могу решить, погряз в учебниках но так и не понял как правильно составить, делаю так
[[!up2Users?
&groups=`Users`
&showLog=`1`
&innerJoin=`{"up2Fields ":{"class":"up2Fields"}}`
&select=`{"up2Fields":"*"}`
&where=`{"up2Fields.id:LIKE":"10"}`
&sortdir=`DESC`
]]
лог выдаёт такой:0.0027180: Conditions prepared
0.0000391: Query parameters ready
0.0000339: xPDO query object created
0.0001822: innerJoined modUserProfile as modUserProfile
0.0005951: innerJoined modUserGroupMember as modUserGroupMember
0.0002060: innerJoined up2Profile as up2Profile
0.0008161: innerJoined up2Fields as up2Fields
0.0000050: Grouped by modUser.id
0.0001900: Added selection of modUser: SQL_CALC_FOUND_ROWS `id`, `username`, `password`, `cachepwd`, `class_key`, `active`, `remote_key`, `remote_data`, `hash_class`, `salt`, `primary_group`, `session_stale`, `sudo`
0.0003140: Added selection of modUserProfile: `id`, `internalKey`, `fullname`, `email`, `phone`, `mobilephone`, `blocked`, `blockeduntil`, `blockedafter`, `logincount`, `lastlogin`, `thislogin`, `failedlogincount`, `sessionid`, `dob`, `gender`, `address`, `country`, `city`, `state`, `zip`, `fax`, `photo`, `comment`, `website`, `extended`
0.0000160: Added selection of modUser: `up2Profile`.`type`, `up2Profile`.`lastname`, `up2Profile`.`firstname`, `up2Profile`.`secondname`, `up2Profile`.`registration`, `up2Profile`.`lastactivity`, `up2Profile`.`ip`, `up2Profile`.`extend`, `up2Profile`.`property` AS userProfile
0.0001230: Added selection of up2Fields: `id`, `name_in`, `name_out`, `tab`, `type`, `css`, `value`, `length`, `required`, `readonly`, `editable`, `active`, `rank`
0.0003171: Added where condition: modUser.active=1, modUserProfile.blocked=0, modUserGroupMember.user_group:IN(8), up2Fields.id:LIKE=%10%
0.0000391: Sorted by modUser.id, DESC
0.0000062: Limited to 10, offset 0
0.0004768: SQL prepared "SELECT SQL_CALC_FOUND_ROWS `modUser`.`id`, `modUser`.`username`, `modUser`.`password`, `modUser`.`cachepwd`, `modUser`.`class_key`, `modUser`.`active`, `modUser`.`remote_key`, `modUser`.`remote_data`, `modUser`.`hash_class`, `modUser`.`salt`, `modUser`.`primary_group`, `modUser`.`session_stale`, `modUser`.`sudo`, `modUserProfile`.`id`, `modUserProfile`.`internalKey`, `modUserProfile`.`fullname`, `modUserProfile`.`email`, `modUserProfile`.`phone`, `modUserProfile`.`mobilephone`, `modUserProfile`.`blocked`, `modUserProfile`.`blockeduntil`, `modUserProfile`.`blockedafter`, `modUserProfile`.`logincount`, `modUserProfile`.`lastlogin`, `modUserProfile`.`thislogin`, `modUserProfile`.`failedlogincount`, `modUserProfile`.`sessionid`, `modUserProfile`.`dob`, `modUserProfile`.`gender`, `modUserProfile`.`address`, `modUserProfile`.`country`, `modUserProfile`.`city`, `modUserProfile`.`state`, `modUserProfile`.`zip`, `modUserProfile`.`fax`, `modUserProfile`.`photo`, `modUserProfile`.`comment`, `modUserProfile`.`website`, `modUserProfile`.`extended`, `up2Profile`.`type`, `up2Profile`.`lastname`, `up2Profile`.`firstname`, `up2Profile`.`secondname`, `up2Profile`.`registration`, `up2Profile`.`lastactivity`, `up2Profile`.`ip`, `up2Profile`.`extend`, `up2Profile`.`property` AS userProfile, `up2Fields`.`id`, `up2Fields`.`name_in`, `up2Fields`.`name_out`, `up2Fields`.`tab`, `up2Fields`.`type`, `up2Fields`.`css`, `up2Fields`.`value`, `up2Fields`.`length`, `up2Fields`.`required`, `up2Fields`.`readonly`, `up2Fields`.`editable`, `up2Fields`.`active`, `up2Fields`.`rank` FROM `modx_users` AS `modUser` JOIN `modx_user_attributes` `modUserProfile` ON modUser.id = modUserProfile.internalKey JOIN `modx_member_groups` `modUserGroupMember` ON modUser.id = modUserGroupMember.member JOIN `modx_up2_profile` `up2Profile` ON `up2Profile`.`id`=`modUser`.`id` JOIN `modx_up2_fields` `up2Fields ` ON WHERE ( `modUser`.`active` = 1 AND `modUserProfile`.`blocked` = '0' AND `modUserGroupMember`.`user_group` IN ('8') AND `up2Fields`.`id` LIKE 0 ) GROUP BY modUser.id ORDER BY modUser.id DESC LIMIT 10 "
0.0004051: Could not process query, error #1064: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE ( `modUser`.`active` = 1 AND `modUserProfile`.`blocked` = '0' AND `modUse' at line 1
0.0067790: Total time
11 010 048: Memory usage
подскажите я where не правильно строю?
копаю глубже, уже ясно что таблицу up2Fields я ни как не заджойню к up2Profile. Значит нужно создавать отдельную таблицу где задать колонки id юзера и моё созданное поле bal. А как это сделать сововсем другая история. Блин такая простая, казалось бы, задача как сортировка превращается в необходимость с нуля изучать xPDO и sql.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.