Squeak.ru - шаблоны программирования

Как использовать коллекции Magento для выполнения запроса, получения результатов и их печати

Я новичок в программировании, php, Magento и, прежде всего, в SQL. Пожалуйста, простите меня, если это какой-то глупый вопрос.

Я пытаюсь использовать коллекции Magento, чтобы выбрать два разных столбца в двух разных таблицах и присоединиться к ним. Эти два столбца содержат номера продуктов, которые следуют тем же соглашениям, и моя цель — получить и отобразить номера продуктов, которые поле a (назовем его «product_id») содержит поле b («item_nr») нет.

Вот моя функция, расположенная в настоящее время в модели, которая будет вызываться действием контроллера.

public function importCompare() {

    $orderlistCollect = Mage::getModel('personal_orderlist/orderlist')->getCollection()
        ->addFieldToSelect('product_id')
        ->addFieldToFilter('b.item_nr', null)
        ->getSelect()
        ->joinLeft( array('b'=>$this->getTable('catalog/product')),   'main_table.product_id = b.item_nr', array('b.item_nr'));

    echo $orderlistCollect;
}

Повторяя переменную, я получаю следующий запрос.

SELECT `main_table`.`product_id`, `b`.`erp_item_nr`
        FROM `mag1personal_orderlist` AS `main_table`
        LEFT JOIN `` AS `b` ON main_table.product_id = b.item_nr
        WHERE (b.item_nr = '')

Это выглядит довольно близко к тому, что я хочу, однако большая проблема заключается в том, что я понятия не имею, как получить информацию, которую я должен получить из этого запроса, и отобразить ее. Я пытался использовать различные методы манипулирования коллекцией, но безрезультатно. Легко ли использовать их не по порядку?

Любая помощь здесь приветствуется.

08.05.2013

Ответы:


1

Коллекции используют интерфейсы из стандартной библиотеки PHP для реализации for each-способного поведения.

Если это звучит как греческий, попробуйте.

foreach($orderlistCollect as $item)
{
    $data = $item->getData();
    var_dump($data);

    $sku = $item->getSku();
    var_dump($sku);

    $sku = $item->getData('sku');
    var_dump($sku);
}

Если вам интересно узнать, как работать с вашими собственными объектами PHP, Object Раздел руководства, посвященный итерациям, является хорошим местом для начала. Однако нет необходимости углубляться в это — просто обращайтесь с коллекцией так же, как с массивом объектов, и все будет в порядке.

08.05.2013
  • спасибо тонн. Мы с коллегой постоянно бегаем по вашему сайту. На самом деле я не пытаюсь схватить скус. Есть ли способ getThisColumnName, как если бы вы использовали методы getData() и getSku? 08.05.2013
  • @ooblek6000 ooblek6000 Каждый ключ в массиве данных можно превратить в метод установки или получения. Ключ данных sku превращается в getSku, ключ данных this_column_name превращается в getThisColumnName. 08.05.2013
  • Новые материалы

    Угловая структура архитектуры
    Обратите внимание, что эта статья устарела, я решил создать новую с лучшей структурой и с учетом автономных компонентов: https://medium.com/@marekpanti/angular-standalone-architecture-b645edd0d54a..

    «Данные, которые большинство людей используют для обучения своих моделей искусственного интеллекта, поставляются со встроенным…
    Первоначально опубликовано HalkTalks: https://hacktown.com.br/blog/blog/os-dados-que-a-maioria-das-pessoas-usa-para-treinar-seus-modelos-de-inteligencia-artificial- ja-vem-com-um-vies-embutido/..

    Сильный ИИ против слабого ИИ: различия парадигм искусственного интеллекта
    В последние годы изучению и развитию искусственного интеллекта (ИИ) уделяется большое внимание и прогресс. Сильный ИИ и Слабый ИИ — две основные парадигмы в области искусственного интеллекта...

    Правильный способ добавить Firebase в ваш проект React с помощью React Hooks
    React + Firebase - это мощная комбинация для быстрого и безопасного создания приложений, от проверки концепции до массового производства. Раньше (знаете, несколько месяцев назад) добавление..

    Создайте API с помощью Python FastAPI
    Создание API с помощью Python становится очень простым при использовании пакета FastAPI. После установки и импорта вы можете создать приложение FastAPI и указать несколько конечных точек. Каждой..

    Веселье с прокси-сервером JavaScript
    Прокси-серверы JavaScript — это чистый сахар, если вы хотите создать некоторую общую логику в своих приложениях, чтобы облегчить себе жизнь. Вот один пример: Связь клиент-сервер Мы..

    Получить бесплатный хостинг для разработчиков | Разместите свой сайт за несколько шагов 🔥
    Статические веб-сайты — это веб-страницы с фиксированным содержанием и его постоянным содержанием. Но теперь статические сайты также обрабатывают динамические данные с помощью API и запросов...