ankithg03
9/23/2019 - 5:19 AM

Option\Source

<?php

namespace Codilar\ProductVendor\Model\Config\Source;

use Codilar\ProductVendor\Model\ResourceModel\ProductVendor\Collection;
use Codilar\ProductVendor\Model\ResourceModel\ProductVendor\CollectionFactory;

class Options extends \Magento\Eav\Model\Entity\Attribute\Source\AbstractSource
{
    /**
     * @var CollectionFactory
     */
    private $collectionFactory;

    /**
     * Retrieve All options
     *
     * @param CollectionFactory $collectionFactory
     */
    public function __construct(
        CollectionFactory  $collectionFactory
    ) {
        $this->collectionFactory = $collectionFactory;
    }

    public function getAllOptions()
    {
        $optionData = [];
        foreach ($this->getVendorCollection() as $row) {
            $optionData[] = [
                'label' => __($row->getVendorName()),
                'value' => $row->getVendorId()
            ];
        }

        return $optionData;
    }

    /**
     * @return Collection
     */
    public function getVendorCollection()
    {
        return $this->collectionFactory->create();
    }
}