Я прочитал, что выше, и чувствую себя намного лучше, зная, что некоторые люди пытаются выяснить проблему как мою.
Ну, как вы знаете, вы не можете найти всю информацию о ваших клиентах в бэк-офисе magento.
Я хотел, чтобы у меня была очень большая таблица, где я могу видеть всех своих клиентов (тех, кто имеет аккаунт = зарегистрирован) (и тех, кто только что зарегистрировался на новостные письма newsletter_subscribeers)
Поскольку я действительно не знаю, как magento предоставляет эту информацию, я написал некоторый SQL-код для извлечения данных.
Как сказано выше, вы не можете иметь всю информацию о клиентах в одном запросе. На самом деле, вам потребуется столько же запросов, сколько и атрибутов клиентов.
Если клиент сущности имеет 45 атрибутов (имя, фамилия, отчество, адрес электронной почты .....)
тогда вам нужно 45 запросов, чтобы извлечь их ...
Мой вопрос был КАК ???
Ответ - ВИДЫ!
На самом деле, я написал Views, чтобы извлечь информацию каждого атрибута. Это означает, что я написал 45 видов, каждое представление выбирает атрибут
Я не знаю, как это делается в вашей базе данных, но вы можете знать, что у каждого объекта есть entity_type_id.
В моем случае меня интересуют customer_entity и customer_address_entity.
customer_entity имеет entity_type_id = 1
customer_address_entity имеет entity_type_id = 2
У каждой сущности есть атрибуты. Итак, если вы хотите увидеть, какие атрибуты доступны для объекта клиента, выполните запрос:
Select attribute_code, attribute_id, backend_type from eav_attribute where entity_type_id =1
То же самое для адресной сущности, заменив 1 на 2.
Столбец attribute_id очень важен, потому что это позволит вам найти ваши атрибуты по идентификаторам таблиц:
entity_customer_vachar, entity_customer_int, entity_customer_text, entity_customer_datetime
Возможно, вы узнаете firstname attribute_id = 5 в этой таблице, как Джозеф Мастей написал в своем запросе ...
Информация отправляется по типам в таблицах выше.
Когда вы выполните запрос выше, вы увидите, что у каждого атрибута есть тип backend. это означает, что информация, которую вы ищете, является одной из таблиц с суффиксом ее типа.
Например, если вы ищете имя первого типа varchar, вы найдете его в customer_entity_varchar и т. Д.
Если вы все еще читаете, это может означать, что вы понимаете, о чем я говорю.
В противном случае вам нужно взглянуть на модель EAV
И схема базы данных magento 1.3.2.4 в
http://inchoo.net/wp-content/uploads/2010/09/MAGENTO_v1.3.2.4-Database_Diagram.pdf
Я не могу опубликовать все решение, потому что оно еще не готово, я добавлю zip-файл, если это поможет.
Между тем, если кто-то знает, как использовать объекты magento с php-файлом для доступа к данным без редактирования ядра magento, это было бы здорово!
Спасибо