display all customers using console command magento2.2.3











up vote
2
down vote

favorite












How to display registered customers in terminal using custom console command?Can anyone please help me out.










share|improve this question


























    up vote
    2
    down vote

    favorite












    How to display registered customers in terminal using custom console command?Can anyone please help me out.










    share|improve this question
























      up vote
      2
      down vote

      favorite









      up vote
      2
      down vote

      favorite











      How to display registered customers in terminal using custom console command?Can anyone please help me out.










      share|improve this question













      How to display registered customers in terminal using custom console command?Can anyone please help me out.







      magento2.2.3






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked 3 hours ago









      Vishali Mariappan

      10411




      10411






















          2 Answers
          2






          active

          oldest

          votes

















          up vote
          4
          down vote



          accepted










          First, you need to create di.xml in your customer module(I am assuming that you already know how to create a module)



          app/code/VENDOR/MODULE/etc/di.xml



          <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd">
          <type name="MagentoFrameworkConsoleCommandList">
          <arguments>
          <argument name="commands" xsi:type="array">
          <item name="registered_customer_list" xsi:type="object">VENDORMODULEConsoleCommandGetRegisteredCustomerList</item>
          </argument>
          </arguments>
          </type>
          </config>


          Now you need to create GetRegisteredCustomerList.php



          app/code/VENDOR/MODULE/Console/Command/GetRegisteredCustomerList.php



          <?php

          namespace VendorMODULEConsoleCommand;

          use SymfonyComponentConsoleCommandCommand;
          use SymfonyComponentConsoleInputInputInterface;
          use SymfonyComponentConsoleOutputOutputInterface;
          use MagentoCustomerModelResourceModelCustomerCollectionFactory;


          class GetRegisteredCustomerList extends Command
          {
          const COMMAND = 'customer:list';


          private $customerCollectionFactory;


          public function __construct(
          CollectionFactory $customerCollectionFactory
          )
          {
          parent::__construct();

          $this->customerCollectionFactory = $customerCollectionFactory;
          }

          /**
          * @inheritdoc
          */
          protected function configure()
          {
          $this->setName(self::COMMAND);
          $desc = 'Registered customers list';
          $this->setDescription($desc);
          }


          protected function execute(InputInterface $input, OutputInterface $output)
          {
          try {
          $table = $this->getHelperSet()->get('table');
          $table->setHeaders(['ID', 'Website ID', 'Group ID', 'First Name', 'Last Name', 'Email']);

          $customerCollection = $this->customerCollectionFactory->create();
          foreach ($customerCollection as $customer) {
          $table->addRow([
          $customer->getData('entity_id'),
          $customer->getData('website_id'),
          $customer->getData('group_id'),
          $customer->getData('firstname'),
          $customer->getData('lastname'),
          $customer->getData('email'),
          ]);
          }

          $table->render($output);
          } catch (Exception $e) {
          $output->writeln("<error>Error executing command: {$e->getMessage()}</error>");
          }
          }
          }


          Now you need to execute the php bin/magento setup:di:compile command from the magento root directory



          and php bin/magento cache:clean



          And now you can get your registered customer list by executing below command,



          php bin/magento customer:list



          it will print something like this,



          $ php bin/magento customer:list
          +----+------------+----------+------------+-----------+------------------------------+
          | ID | Website ID | Group ID | First Name | Last Name | Email |
          +----+------------+----------+------------+-----------+------------------------------+
          | 1 | 1 | 1 | Keyur | Shah1 | keyurtest@gmail.com |
          | 2 | 1 | 1 | Keyur | Shah | keyur@gmail.com |
          | 3 | 1 | 1 | Keyur | Shah | keyurdemo@gmail.com |
          | 4 | 1 | 1 | Keyur | Shah | demo@gmail.com |
          | 5 | 1 | 1 | Keyur | Shah | test@gmail.com |
          +----+------------+----------+------------+-----------+------------------------------+





          share|improve this answer





















          • Thanks @Keyur Shah.It works
            – Vishali Mariappan
            51 mins ago


















          up vote
          3
          down vote













          You can add your own commands for listing customers:



          add your command class through di.



          <type name="MagentoFrameworkConsoleCommandListInterface">
          <arguments>
          <argument name="commands" xsi:type="array">
          <item name="customersList" xsi:type="object">ComapanyModuleNameConsoleCommandCustomersList</item>
          </argument>
          </arguments>
          </type>


          Create your class. Take help from magento created command classes. Here i create class from MagentoCatalogConsoleCommandProductAttributesCleanUp



          <?php

          namespace ComapanyModuleNameConsoleCommand;

          use SymfonyComponentConsoleInputInputInterface;
          use SymfonyComponentConsoleOutputOutputInterface;

          /**
          * Class ProductAttributesCleanUp
          * @SuppressWarnings(PHPMD.CouplingBetweenObjects)
          */
          class CustomersList extends SymfonyComponentConsoleCommandCommand
          {

          /**
          * @var MagentoFrameworkAppState
          */
          protected $appState;

          /**
          * @var MagentoCustomerModelResourceModelCustomerCollectionFactory
          */
          protected $customerCollectionFactory;


          /**
          * @param MagentoFrameworkAppState $appState
          * @param MagentoCustomerModelResourceModelCustomerCollectionFactory
          */
          public function __construct(
          MagentoFrameworkAppState $appState,
          MagentoCustomerModelResourceModelCustomerCollectionFactory $customerCollectionFactory

          ) {
          $this->appState = $appState;
          $this->customerCollectionFactory = $customerCollectionFactory;
          parent::__construct();
          }

          /**
          * {@inheritdoc}
          */
          protected function configure()
          {
          $this->setName('customers:list');
          $this->setDescription('List All Customers.');
          }

          /**
          * {@inheritdoc}
          */
          protected function execute(InputInterface $input, OutputInterface $output)
          {
          $output->setDecorated(true);
          $this->appState->setAreaCode(MagentoFrameworkAppArea::AREA_GLOBAL);


          $output->writeln("");
          $collection =$this->customerCollectionFactory->create();
          $output->writeln("<info>Customers:</info>");
          foreach ($collection as $customer) {
          $output->writeln("<comment> ".$customer->getEmail()." </comment>");
          }


          return MagentoFrameworkConsoleCli::RETURN_SUCCESS;

          }


          }





          share|improve this answer























          • [SymfonyComponentConsoleExceptionCommandNotFoundException] There are no commands defined in the "customers" namespace. Did you mean one of these? customer customer:hash
            – Vishali Mariappan
            2 hours ago










          • missed to update the name of command ,now updated my post name="customersList" . after making changes run setup:upgrade and cache:flush command
            – satya prakash patel
            1 hour ago










          • yes, check the updated post, it will display the email of all customers . you can update it according to your need.
            – satya prakash patel
            1 hour ago










          • Argument 2 passed to CodemTimeslotConsoleCommandCustomersList::__construct() must be an instance of MagentoCustomerModelResourceModelCustomerCollectionFactory, none given, called in /Library/WebServer/Documents/magento/vendor/magento/framework/ObjectManager/Factory/AbstractFactory.php on line 111 and defined in /Library/WebServer/Documents/magento/app/code/Codem/Timeslot/Console/Command/CustomersList.php on line 30...This error appears
            – Vishali Mariappan
            1 hour ago










          • clean your generated directory and try cache flush
            – satya prakash patel
            1 hour ago













          Your Answer








          StackExchange.ready(function() {
          var channelOptions = {
          tags: "".split(" "),
          id: "479"
          };
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function() {
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled) {
          StackExchange.using("snippets", function() {
          createEditor();
          });
          }
          else {
          createEditor();
          }
          });

          function createEditor() {
          StackExchange.prepareEditor({
          heartbeatType: 'answer',
          convertImagesToLinks: false,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: null,
          bindNavPrevention: true,
          postfix: "",
          imageUploader: {
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          },
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          });


          }
          });














          draft saved

          draft discarded


















          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmagento.stackexchange.com%2fquestions%2f254839%2fdisplay-all-customers-using-console-command-magento2-2-3%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown

























          2 Answers
          2






          active

          oldest

          votes








          2 Answers
          2






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes








          up vote
          4
          down vote



          accepted










          First, you need to create di.xml in your customer module(I am assuming that you already know how to create a module)



          app/code/VENDOR/MODULE/etc/di.xml



          <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd">
          <type name="MagentoFrameworkConsoleCommandList">
          <arguments>
          <argument name="commands" xsi:type="array">
          <item name="registered_customer_list" xsi:type="object">VENDORMODULEConsoleCommandGetRegisteredCustomerList</item>
          </argument>
          </arguments>
          </type>
          </config>


          Now you need to create GetRegisteredCustomerList.php



          app/code/VENDOR/MODULE/Console/Command/GetRegisteredCustomerList.php



          <?php

          namespace VendorMODULEConsoleCommand;

          use SymfonyComponentConsoleCommandCommand;
          use SymfonyComponentConsoleInputInputInterface;
          use SymfonyComponentConsoleOutputOutputInterface;
          use MagentoCustomerModelResourceModelCustomerCollectionFactory;


          class GetRegisteredCustomerList extends Command
          {
          const COMMAND = 'customer:list';


          private $customerCollectionFactory;


          public function __construct(
          CollectionFactory $customerCollectionFactory
          )
          {
          parent::__construct();

          $this->customerCollectionFactory = $customerCollectionFactory;
          }

          /**
          * @inheritdoc
          */
          protected function configure()
          {
          $this->setName(self::COMMAND);
          $desc = 'Registered customers list';
          $this->setDescription($desc);
          }


          protected function execute(InputInterface $input, OutputInterface $output)
          {
          try {
          $table = $this->getHelperSet()->get('table');
          $table->setHeaders(['ID', 'Website ID', 'Group ID', 'First Name', 'Last Name', 'Email']);

          $customerCollection = $this->customerCollectionFactory->create();
          foreach ($customerCollection as $customer) {
          $table->addRow([
          $customer->getData('entity_id'),
          $customer->getData('website_id'),
          $customer->getData('group_id'),
          $customer->getData('firstname'),
          $customer->getData('lastname'),
          $customer->getData('email'),
          ]);
          }

          $table->render($output);
          } catch (Exception $e) {
          $output->writeln("<error>Error executing command: {$e->getMessage()}</error>");
          }
          }
          }


          Now you need to execute the php bin/magento setup:di:compile command from the magento root directory



          and php bin/magento cache:clean



          And now you can get your registered customer list by executing below command,



          php bin/magento customer:list



          it will print something like this,



          $ php bin/magento customer:list
          +----+------------+----------+------------+-----------+------------------------------+
          | ID | Website ID | Group ID | First Name | Last Name | Email |
          +----+------------+----------+------------+-----------+------------------------------+
          | 1 | 1 | 1 | Keyur | Shah1 | keyurtest@gmail.com |
          | 2 | 1 | 1 | Keyur | Shah | keyur@gmail.com |
          | 3 | 1 | 1 | Keyur | Shah | keyurdemo@gmail.com |
          | 4 | 1 | 1 | Keyur | Shah | demo@gmail.com |
          | 5 | 1 | 1 | Keyur | Shah | test@gmail.com |
          +----+------------+----------+------------+-----------+------------------------------+





          share|improve this answer





















          • Thanks @Keyur Shah.It works
            – Vishali Mariappan
            51 mins ago















          up vote
          4
          down vote



          accepted










          First, you need to create di.xml in your customer module(I am assuming that you already know how to create a module)



          app/code/VENDOR/MODULE/etc/di.xml



          <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd">
          <type name="MagentoFrameworkConsoleCommandList">
          <arguments>
          <argument name="commands" xsi:type="array">
          <item name="registered_customer_list" xsi:type="object">VENDORMODULEConsoleCommandGetRegisteredCustomerList</item>
          </argument>
          </arguments>
          </type>
          </config>


          Now you need to create GetRegisteredCustomerList.php



          app/code/VENDOR/MODULE/Console/Command/GetRegisteredCustomerList.php



          <?php

          namespace VendorMODULEConsoleCommand;

          use SymfonyComponentConsoleCommandCommand;
          use SymfonyComponentConsoleInputInputInterface;
          use SymfonyComponentConsoleOutputOutputInterface;
          use MagentoCustomerModelResourceModelCustomerCollectionFactory;


          class GetRegisteredCustomerList extends Command
          {
          const COMMAND = 'customer:list';


          private $customerCollectionFactory;


          public function __construct(
          CollectionFactory $customerCollectionFactory
          )
          {
          parent::__construct();

          $this->customerCollectionFactory = $customerCollectionFactory;
          }

          /**
          * @inheritdoc
          */
          protected function configure()
          {
          $this->setName(self::COMMAND);
          $desc = 'Registered customers list';
          $this->setDescription($desc);
          }


          protected function execute(InputInterface $input, OutputInterface $output)
          {
          try {
          $table = $this->getHelperSet()->get('table');
          $table->setHeaders(['ID', 'Website ID', 'Group ID', 'First Name', 'Last Name', 'Email']);

          $customerCollection = $this->customerCollectionFactory->create();
          foreach ($customerCollection as $customer) {
          $table->addRow([
          $customer->getData('entity_id'),
          $customer->getData('website_id'),
          $customer->getData('group_id'),
          $customer->getData('firstname'),
          $customer->getData('lastname'),
          $customer->getData('email'),
          ]);
          }

          $table->render($output);
          } catch (Exception $e) {
          $output->writeln("<error>Error executing command: {$e->getMessage()}</error>");
          }
          }
          }


          Now you need to execute the php bin/magento setup:di:compile command from the magento root directory



          and php bin/magento cache:clean



          And now you can get your registered customer list by executing below command,



          php bin/magento customer:list



          it will print something like this,



          $ php bin/magento customer:list
          +----+------------+----------+------------+-----------+------------------------------+
          | ID | Website ID | Group ID | First Name | Last Name | Email |
          +----+------------+----------+------------+-----------+------------------------------+
          | 1 | 1 | 1 | Keyur | Shah1 | keyurtest@gmail.com |
          | 2 | 1 | 1 | Keyur | Shah | keyur@gmail.com |
          | 3 | 1 | 1 | Keyur | Shah | keyurdemo@gmail.com |
          | 4 | 1 | 1 | Keyur | Shah | demo@gmail.com |
          | 5 | 1 | 1 | Keyur | Shah | test@gmail.com |
          +----+------------+----------+------------+-----------+------------------------------+





          share|improve this answer





















          • Thanks @Keyur Shah.It works
            – Vishali Mariappan
            51 mins ago













          up vote
          4
          down vote



          accepted







          up vote
          4
          down vote



          accepted






          First, you need to create di.xml in your customer module(I am assuming that you already know how to create a module)



          app/code/VENDOR/MODULE/etc/di.xml



          <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd">
          <type name="MagentoFrameworkConsoleCommandList">
          <arguments>
          <argument name="commands" xsi:type="array">
          <item name="registered_customer_list" xsi:type="object">VENDORMODULEConsoleCommandGetRegisteredCustomerList</item>
          </argument>
          </arguments>
          </type>
          </config>


          Now you need to create GetRegisteredCustomerList.php



          app/code/VENDOR/MODULE/Console/Command/GetRegisteredCustomerList.php



          <?php

          namespace VendorMODULEConsoleCommand;

          use SymfonyComponentConsoleCommandCommand;
          use SymfonyComponentConsoleInputInputInterface;
          use SymfonyComponentConsoleOutputOutputInterface;
          use MagentoCustomerModelResourceModelCustomerCollectionFactory;


          class GetRegisteredCustomerList extends Command
          {
          const COMMAND = 'customer:list';


          private $customerCollectionFactory;


          public function __construct(
          CollectionFactory $customerCollectionFactory
          )
          {
          parent::__construct();

          $this->customerCollectionFactory = $customerCollectionFactory;
          }

          /**
          * @inheritdoc
          */
          protected function configure()
          {
          $this->setName(self::COMMAND);
          $desc = 'Registered customers list';
          $this->setDescription($desc);
          }


          protected function execute(InputInterface $input, OutputInterface $output)
          {
          try {
          $table = $this->getHelperSet()->get('table');
          $table->setHeaders(['ID', 'Website ID', 'Group ID', 'First Name', 'Last Name', 'Email']);

          $customerCollection = $this->customerCollectionFactory->create();
          foreach ($customerCollection as $customer) {
          $table->addRow([
          $customer->getData('entity_id'),
          $customer->getData('website_id'),
          $customer->getData('group_id'),
          $customer->getData('firstname'),
          $customer->getData('lastname'),
          $customer->getData('email'),
          ]);
          }

          $table->render($output);
          } catch (Exception $e) {
          $output->writeln("<error>Error executing command: {$e->getMessage()}</error>");
          }
          }
          }


          Now you need to execute the php bin/magento setup:di:compile command from the magento root directory



          and php bin/magento cache:clean



          And now you can get your registered customer list by executing below command,



          php bin/magento customer:list



          it will print something like this,



          $ php bin/magento customer:list
          +----+------------+----------+------------+-----------+------------------------------+
          | ID | Website ID | Group ID | First Name | Last Name | Email |
          +----+------------+----------+------------+-----------+------------------------------+
          | 1 | 1 | 1 | Keyur | Shah1 | keyurtest@gmail.com |
          | 2 | 1 | 1 | Keyur | Shah | keyur@gmail.com |
          | 3 | 1 | 1 | Keyur | Shah | keyurdemo@gmail.com |
          | 4 | 1 | 1 | Keyur | Shah | demo@gmail.com |
          | 5 | 1 | 1 | Keyur | Shah | test@gmail.com |
          +----+------------+----------+------------+-----------+------------------------------+





          share|improve this answer












          First, you need to create di.xml in your customer module(I am assuming that you already know how to create a module)



          app/code/VENDOR/MODULE/etc/di.xml



          <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd">
          <type name="MagentoFrameworkConsoleCommandList">
          <arguments>
          <argument name="commands" xsi:type="array">
          <item name="registered_customer_list" xsi:type="object">VENDORMODULEConsoleCommandGetRegisteredCustomerList</item>
          </argument>
          </arguments>
          </type>
          </config>


          Now you need to create GetRegisteredCustomerList.php



          app/code/VENDOR/MODULE/Console/Command/GetRegisteredCustomerList.php



          <?php

          namespace VendorMODULEConsoleCommand;

          use SymfonyComponentConsoleCommandCommand;
          use SymfonyComponentConsoleInputInputInterface;
          use SymfonyComponentConsoleOutputOutputInterface;
          use MagentoCustomerModelResourceModelCustomerCollectionFactory;


          class GetRegisteredCustomerList extends Command
          {
          const COMMAND = 'customer:list';


          private $customerCollectionFactory;


          public function __construct(
          CollectionFactory $customerCollectionFactory
          )
          {
          parent::__construct();

          $this->customerCollectionFactory = $customerCollectionFactory;
          }

          /**
          * @inheritdoc
          */
          protected function configure()
          {
          $this->setName(self::COMMAND);
          $desc = 'Registered customers list';
          $this->setDescription($desc);
          }


          protected function execute(InputInterface $input, OutputInterface $output)
          {
          try {
          $table = $this->getHelperSet()->get('table');
          $table->setHeaders(['ID', 'Website ID', 'Group ID', 'First Name', 'Last Name', 'Email']);

          $customerCollection = $this->customerCollectionFactory->create();
          foreach ($customerCollection as $customer) {
          $table->addRow([
          $customer->getData('entity_id'),
          $customer->getData('website_id'),
          $customer->getData('group_id'),
          $customer->getData('firstname'),
          $customer->getData('lastname'),
          $customer->getData('email'),
          ]);
          }

          $table->render($output);
          } catch (Exception $e) {
          $output->writeln("<error>Error executing command: {$e->getMessage()}</error>");
          }
          }
          }


          Now you need to execute the php bin/magento setup:di:compile command from the magento root directory



          and php bin/magento cache:clean



          And now you can get your registered customer list by executing below command,



          php bin/magento customer:list



          it will print something like this,



          $ php bin/magento customer:list
          +----+------------+----------+------------+-----------+------------------------------+
          | ID | Website ID | Group ID | First Name | Last Name | Email |
          +----+------------+----------+------------+-----------+------------------------------+
          | 1 | 1 | 1 | Keyur | Shah1 | keyurtest@gmail.com |
          | 2 | 1 | 1 | Keyur | Shah | keyur@gmail.com |
          | 3 | 1 | 1 | Keyur | Shah | keyurdemo@gmail.com |
          | 4 | 1 | 1 | Keyur | Shah | demo@gmail.com |
          | 5 | 1 | 1 | Keyur | Shah | test@gmail.com |
          +----+------------+----------+------------+-----------+------------------------------+






          share|improve this answer












          share|improve this answer



          share|improve this answer










          answered 1 hour ago









          Keyur Shah

          12.6k23764




          12.6k23764












          • Thanks @Keyur Shah.It works
            – Vishali Mariappan
            51 mins ago


















          • Thanks @Keyur Shah.It works
            – Vishali Mariappan
            51 mins ago
















          Thanks @Keyur Shah.It works
          – Vishali Mariappan
          51 mins ago




          Thanks @Keyur Shah.It works
          – Vishali Mariappan
          51 mins ago












          up vote
          3
          down vote













          You can add your own commands for listing customers:



          add your command class through di.



          <type name="MagentoFrameworkConsoleCommandListInterface">
          <arguments>
          <argument name="commands" xsi:type="array">
          <item name="customersList" xsi:type="object">ComapanyModuleNameConsoleCommandCustomersList</item>
          </argument>
          </arguments>
          </type>


          Create your class. Take help from magento created command classes. Here i create class from MagentoCatalogConsoleCommandProductAttributesCleanUp



          <?php

          namespace ComapanyModuleNameConsoleCommand;

          use SymfonyComponentConsoleInputInputInterface;
          use SymfonyComponentConsoleOutputOutputInterface;

          /**
          * Class ProductAttributesCleanUp
          * @SuppressWarnings(PHPMD.CouplingBetweenObjects)
          */
          class CustomersList extends SymfonyComponentConsoleCommandCommand
          {

          /**
          * @var MagentoFrameworkAppState
          */
          protected $appState;

          /**
          * @var MagentoCustomerModelResourceModelCustomerCollectionFactory
          */
          protected $customerCollectionFactory;


          /**
          * @param MagentoFrameworkAppState $appState
          * @param MagentoCustomerModelResourceModelCustomerCollectionFactory
          */
          public function __construct(
          MagentoFrameworkAppState $appState,
          MagentoCustomerModelResourceModelCustomerCollectionFactory $customerCollectionFactory

          ) {
          $this->appState = $appState;
          $this->customerCollectionFactory = $customerCollectionFactory;
          parent::__construct();
          }

          /**
          * {@inheritdoc}
          */
          protected function configure()
          {
          $this->setName('customers:list');
          $this->setDescription('List All Customers.');
          }

          /**
          * {@inheritdoc}
          */
          protected function execute(InputInterface $input, OutputInterface $output)
          {
          $output->setDecorated(true);
          $this->appState->setAreaCode(MagentoFrameworkAppArea::AREA_GLOBAL);


          $output->writeln("");
          $collection =$this->customerCollectionFactory->create();
          $output->writeln("<info>Customers:</info>");
          foreach ($collection as $customer) {
          $output->writeln("<comment> ".$customer->getEmail()." </comment>");
          }


          return MagentoFrameworkConsoleCli::RETURN_SUCCESS;

          }


          }





          share|improve this answer























          • [SymfonyComponentConsoleExceptionCommandNotFoundException] There are no commands defined in the "customers" namespace. Did you mean one of these? customer customer:hash
            – Vishali Mariappan
            2 hours ago










          • missed to update the name of command ,now updated my post name="customersList" . after making changes run setup:upgrade and cache:flush command
            – satya prakash patel
            1 hour ago










          • yes, check the updated post, it will display the email of all customers . you can update it according to your need.
            – satya prakash patel
            1 hour ago










          • Argument 2 passed to CodemTimeslotConsoleCommandCustomersList::__construct() must be an instance of MagentoCustomerModelResourceModelCustomerCollectionFactory, none given, called in /Library/WebServer/Documents/magento/vendor/magento/framework/ObjectManager/Factory/AbstractFactory.php on line 111 and defined in /Library/WebServer/Documents/magento/app/code/Codem/Timeslot/Console/Command/CustomersList.php on line 30...This error appears
            – Vishali Mariappan
            1 hour ago










          • clean your generated directory and try cache flush
            – satya prakash patel
            1 hour ago

















          up vote
          3
          down vote













          You can add your own commands for listing customers:



          add your command class through di.



          <type name="MagentoFrameworkConsoleCommandListInterface">
          <arguments>
          <argument name="commands" xsi:type="array">
          <item name="customersList" xsi:type="object">ComapanyModuleNameConsoleCommandCustomersList</item>
          </argument>
          </arguments>
          </type>


          Create your class. Take help from magento created command classes. Here i create class from MagentoCatalogConsoleCommandProductAttributesCleanUp



          <?php

          namespace ComapanyModuleNameConsoleCommand;

          use SymfonyComponentConsoleInputInputInterface;
          use SymfonyComponentConsoleOutputOutputInterface;

          /**
          * Class ProductAttributesCleanUp
          * @SuppressWarnings(PHPMD.CouplingBetweenObjects)
          */
          class CustomersList extends SymfonyComponentConsoleCommandCommand
          {

          /**
          * @var MagentoFrameworkAppState
          */
          protected $appState;

          /**
          * @var MagentoCustomerModelResourceModelCustomerCollectionFactory
          */
          protected $customerCollectionFactory;


          /**
          * @param MagentoFrameworkAppState $appState
          * @param MagentoCustomerModelResourceModelCustomerCollectionFactory
          */
          public function __construct(
          MagentoFrameworkAppState $appState,
          MagentoCustomerModelResourceModelCustomerCollectionFactory $customerCollectionFactory

          ) {
          $this->appState = $appState;
          $this->customerCollectionFactory = $customerCollectionFactory;
          parent::__construct();
          }

          /**
          * {@inheritdoc}
          */
          protected function configure()
          {
          $this->setName('customers:list');
          $this->setDescription('List All Customers.');
          }

          /**
          * {@inheritdoc}
          */
          protected function execute(InputInterface $input, OutputInterface $output)
          {
          $output->setDecorated(true);
          $this->appState->setAreaCode(MagentoFrameworkAppArea::AREA_GLOBAL);


          $output->writeln("");
          $collection =$this->customerCollectionFactory->create();
          $output->writeln("<info>Customers:</info>");
          foreach ($collection as $customer) {
          $output->writeln("<comment> ".$customer->getEmail()." </comment>");
          }


          return MagentoFrameworkConsoleCli::RETURN_SUCCESS;

          }


          }





          share|improve this answer























          • [SymfonyComponentConsoleExceptionCommandNotFoundException] There are no commands defined in the "customers" namespace. Did you mean one of these? customer customer:hash
            – Vishali Mariappan
            2 hours ago










          • missed to update the name of command ,now updated my post name="customersList" . after making changes run setup:upgrade and cache:flush command
            – satya prakash patel
            1 hour ago










          • yes, check the updated post, it will display the email of all customers . you can update it according to your need.
            – satya prakash patel
            1 hour ago










          • Argument 2 passed to CodemTimeslotConsoleCommandCustomersList::__construct() must be an instance of MagentoCustomerModelResourceModelCustomerCollectionFactory, none given, called in /Library/WebServer/Documents/magento/vendor/magento/framework/ObjectManager/Factory/AbstractFactory.php on line 111 and defined in /Library/WebServer/Documents/magento/app/code/Codem/Timeslot/Console/Command/CustomersList.php on line 30...This error appears
            – Vishali Mariappan
            1 hour ago










          • clean your generated directory and try cache flush
            – satya prakash patel
            1 hour ago















          up vote
          3
          down vote










          up vote
          3
          down vote









          You can add your own commands for listing customers:



          add your command class through di.



          <type name="MagentoFrameworkConsoleCommandListInterface">
          <arguments>
          <argument name="commands" xsi:type="array">
          <item name="customersList" xsi:type="object">ComapanyModuleNameConsoleCommandCustomersList</item>
          </argument>
          </arguments>
          </type>


          Create your class. Take help from magento created command classes. Here i create class from MagentoCatalogConsoleCommandProductAttributesCleanUp



          <?php

          namespace ComapanyModuleNameConsoleCommand;

          use SymfonyComponentConsoleInputInputInterface;
          use SymfonyComponentConsoleOutputOutputInterface;

          /**
          * Class ProductAttributesCleanUp
          * @SuppressWarnings(PHPMD.CouplingBetweenObjects)
          */
          class CustomersList extends SymfonyComponentConsoleCommandCommand
          {

          /**
          * @var MagentoFrameworkAppState
          */
          protected $appState;

          /**
          * @var MagentoCustomerModelResourceModelCustomerCollectionFactory
          */
          protected $customerCollectionFactory;


          /**
          * @param MagentoFrameworkAppState $appState
          * @param MagentoCustomerModelResourceModelCustomerCollectionFactory
          */
          public function __construct(
          MagentoFrameworkAppState $appState,
          MagentoCustomerModelResourceModelCustomerCollectionFactory $customerCollectionFactory

          ) {
          $this->appState = $appState;
          $this->customerCollectionFactory = $customerCollectionFactory;
          parent::__construct();
          }

          /**
          * {@inheritdoc}
          */
          protected function configure()
          {
          $this->setName('customers:list');
          $this->setDescription('List All Customers.');
          }

          /**
          * {@inheritdoc}
          */
          protected function execute(InputInterface $input, OutputInterface $output)
          {
          $output->setDecorated(true);
          $this->appState->setAreaCode(MagentoFrameworkAppArea::AREA_GLOBAL);


          $output->writeln("");
          $collection =$this->customerCollectionFactory->create();
          $output->writeln("<info>Customers:</info>");
          foreach ($collection as $customer) {
          $output->writeln("<comment> ".$customer->getEmail()." </comment>");
          }


          return MagentoFrameworkConsoleCli::RETURN_SUCCESS;

          }


          }





          share|improve this answer














          You can add your own commands for listing customers:



          add your command class through di.



          <type name="MagentoFrameworkConsoleCommandListInterface">
          <arguments>
          <argument name="commands" xsi:type="array">
          <item name="customersList" xsi:type="object">ComapanyModuleNameConsoleCommandCustomersList</item>
          </argument>
          </arguments>
          </type>


          Create your class. Take help from magento created command classes. Here i create class from MagentoCatalogConsoleCommandProductAttributesCleanUp



          <?php

          namespace ComapanyModuleNameConsoleCommand;

          use SymfonyComponentConsoleInputInputInterface;
          use SymfonyComponentConsoleOutputOutputInterface;

          /**
          * Class ProductAttributesCleanUp
          * @SuppressWarnings(PHPMD.CouplingBetweenObjects)
          */
          class CustomersList extends SymfonyComponentConsoleCommandCommand
          {

          /**
          * @var MagentoFrameworkAppState
          */
          protected $appState;

          /**
          * @var MagentoCustomerModelResourceModelCustomerCollectionFactory
          */
          protected $customerCollectionFactory;


          /**
          * @param MagentoFrameworkAppState $appState
          * @param MagentoCustomerModelResourceModelCustomerCollectionFactory
          */
          public function __construct(
          MagentoFrameworkAppState $appState,
          MagentoCustomerModelResourceModelCustomerCollectionFactory $customerCollectionFactory

          ) {
          $this->appState = $appState;
          $this->customerCollectionFactory = $customerCollectionFactory;
          parent::__construct();
          }

          /**
          * {@inheritdoc}
          */
          protected function configure()
          {
          $this->setName('customers:list');
          $this->setDescription('List All Customers.');
          }

          /**
          * {@inheritdoc}
          */
          protected function execute(InputInterface $input, OutputInterface $output)
          {
          $output->setDecorated(true);
          $this->appState->setAreaCode(MagentoFrameworkAppArea::AREA_GLOBAL);


          $output->writeln("");
          $collection =$this->customerCollectionFactory->create();
          $output->writeln("<info>Customers:</info>");
          foreach ($collection as $customer) {
          $output->writeln("<comment> ".$customer->getEmail()." </comment>");
          }


          return MagentoFrameworkConsoleCli::RETURN_SUCCESS;

          }


          }






          share|improve this answer














          share|improve this answer



          share|improve this answer








          edited 1 hour ago

























          answered 3 hours ago









          satya prakash patel

          30416




          30416












          • [SymfonyComponentConsoleExceptionCommandNotFoundException] There are no commands defined in the "customers" namespace. Did you mean one of these? customer customer:hash
            – Vishali Mariappan
            2 hours ago










          • missed to update the name of command ,now updated my post name="customersList" . after making changes run setup:upgrade and cache:flush command
            – satya prakash patel
            1 hour ago










          • yes, check the updated post, it will display the email of all customers . you can update it according to your need.
            – satya prakash patel
            1 hour ago










          • Argument 2 passed to CodemTimeslotConsoleCommandCustomersList::__construct() must be an instance of MagentoCustomerModelResourceModelCustomerCollectionFactory, none given, called in /Library/WebServer/Documents/magento/vendor/magento/framework/ObjectManager/Factory/AbstractFactory.php on line 111 and defined in /Library/WebServer/Documents/magento/app/code/Codem/Timeslot/Console/Command/CustomersList.php on line 30...This error appears
            – Vishali Mariappan
            1 hour ago










          • clean your generated directory and try cache flush
            – satya prakash patel
            1 hour ago




















          • [SymfonyComponentConsoleExceptionCommandNotFoundException] There are no commands defined in the "customers" namespace. Did you mean one of these? customer customer:hash
            – Vishali Mariappan
            2 hours ago










          • missed to update the name of command ,now updated my post name="customersList" . after making changes run setup:upgrade and cache:flush command
            – satya prakash patel
            1 hour ago










          • yes, check the updated post, it will display the email of all customers . you can update it according to your need.
            – satya prakash patel
            1 hour ago










          • Argument 2 passed to CodemTimeslotConsoleCommandCustomersList::__construct() must be an instance of MagentoCustomerModelResourceModelCustomerCollectionFactory, none given, called in /Library/WebServer/Documents/magento/vendor/magento/framework/ObjectManager/Factory/AbstractFactory.php on line 111 and defined in /Library/WebServer/Documents/magento/app/code/Codem/Timeslot/Console/Command/CustomersList.php on line 30...This error appears
            – Vishali Mariappan
            1 hour ago










          • clean your generated directory and try cache flush
            – satya prakash patel
            1 hour ago


















          [SymfonyComponentConsoleExceptionCommandNotFoundException] There are no commands defined in the "customers" namespace. Did you mean one of these? customer customer:hash
          – Vishali Mariappan
          2 hours ago




          [SymfonyComponentConsoleExceptionCommandNotFoundException] There are no commands defined in the "customers" namespace. Did you mean one of these? customer customer:hash
          – Vishali Mariappan
          2 hours ago












          missed to update the name of command ,now updated my post name="customersList" . after making changes run setup:upgrade and cache:flush command
          – satya prakash patel
          1 hour ago




          missed to update the name of command ,now updated my post name="customersList" . after making changes run setup:upgrade and cache:flush command
          – satya prakash patel
          1 hour ago












          yes, check the updated post, it will display the email of all customers . you can update it according to your need.
          – satya prakash patel
          1 hour ago




          yes, check the updated post, it will display the email of all customers . you can update it according to your need.
          – satya prakash patel
          1 hour ago












          Argument 2 passed to CodemTimeslotConsoleCommandCustomersList::__construct() must be an instance of MagentoCustomerModelResourceModelCustomerCollectionFactory, none given, called in /Library/WebServer/Documents/magento/vendor/magento/framework/ObjectManager/Factory/AbstractFactory.php on line 111 and defined in /Library/WebServer/Documents/magento/app/code/Codem/Timeslot/Console/Command/CustomersList.php on line 30...This error appears
          – Vishali Mariappan
          1 hour ago




          Argument 2 passed to CodemTimeslotConsoleCommandCustomersList::__construct() must be an instance of MagentoCustomerModelResourceModelCustomerCollectionFactory, none given, called in /Library/WebServer/Documents/magento/vendor/magento/framework/ObjectManager/Factory/AbstractFactory.php on line 111 and defined in /Library/WebServer/Documents/magento/app/code/Codem/Timeslot/Console/Command/CustomersList.php on line 30...This error appears
          – Vishali Mariappan
          1 hour ago












          clean your generated directory and try cache flush
          – satya prakash patel
          1 hour ago






          clean your generated directory and try cache flush
          – satya prakash patel
          1 hour ago




















          draft saved

          draft discarded




















































          Thanks for contributing an answer to Magento Stack Exchange!


          • Please be sure to answer the question. Provide details and share your research!

          But avoid



          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.


          To learn more, see our tips on writing great answers.





          Some of your past answers have not been well-received, and you're in danger of being blocked from answering.


          Please pay close attention to the following guidance:


          • Please be sure to answer the question. Provide details and share your research!

          But avoid



          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.


          To learn more, see our tips on writing great answers.




          draft saved


          draft discarded














          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmagento.stackexchange.com%2fquestions%2f254839%2fdisplay-all-customers-using-console-command-magento2-2-3%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown







          Popular posts from this blog

          Quarter-circle Tiles

          build a pushdown automaton that recognizes the reverse language of a given pushdown automaton?

          Mont Emei