Reemtsma
Newbie | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору господа друпальщики, доброго дня! семерка не так давно вышла, но, думаю, уже все почувствовали разницу между 6 и 7. есть вот такая таблица 'table_name' в базе mysql: задача: проверить, существует ли запись в таблице с определенным uid. если существует, то echo значения всех колонок этой записи, если не существует, то внести запись взяв uid из global $user. под одинаковыми uid несколько записей существовать не могут, т.е. все записи в таблице уникальны. с помощью db_result(db_query('sql запрос') это делалось в шестерке. но в 7ке все по-другому. в последнем друпале все запросы к базе нужно делать через EntityFieldQuery, вроде подобного: ________________________________ $query = new EntityFieldQuery; $result = $query ->entityCondition('entity_type', 'node') ->propertyCondition('status', 0) ->fieldCondition('scheduler', 'value', REQUEST_TIME, '<') ->execute(); if (!empty($result['node'])) { $nodes = entity_load('node', array_keys($result['node'])); foreach ($nodes as $node) { $node->status = 1; node_save($node); } } ________________________________ в сети мало описания по этому вспомогательному классу, а то, что есть перебрал уже вдоль и поперек - ума не приложу, как с помощью этого реализовать простейшую задачу. перечитал оригинальную документацию по api,- никак не продвинулся в вопросе. заранее спасибо за помощь! Добавлено: |