<?php
namespace App\Entity;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\Common\Collections\Collection;
use Doctrine\ORM\Mapping as ORM;
use ApiPlatform\Metadata\ApiFilter;
use ApiPlatform\Metadata\ApiProperty;
use ApiPlatform\Metadata\ApiResource;
use ApiPlatform\Doctrine\Orm\Filter\DateFilter;
use ApiPlatform\Doctrine\Orm\Filter\OrderFilter;
use ApiPlatform\Doctrine\Orm\Filter\SearchFilter;
use ApiPlatform\Doctrine\Orm\Filter\BooleanFilter;
use Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity;
use Gedmo\Mapping\Annotation as Gedmo;
use ApiPlatform\Core\Serializer\Filter\PropertyFilter;
use Symfony\Component\Serializer\Annotation\Groups;
use ApiPlatform\Metadata\Put;
use ApiPlatform\Metadata\Post;
use ApiPlatform\Metadata\Get;
use ApiPlatform\Metadata\GetCollection;
use ApiPlatform\Metadata\Patch;
use ApiPlatform\Metadata\Delete;
#[ApiFilter(OrderFilter::class)]
#[ApiFilter(DateFilter::class, properties: ["createdAt"])]
#[ApiFilter(SearchFilter::class)]
#[ApiFilter(SearchFilter::class, properties: ["name" => "partial", "category.slug" => "partial"])]
#[ApiFilter(BooleanFilter::class, properties: ["public" => "exact", "promoted" => "exact", "kurkaAvailable" => "exact"])]
#[ORM\Table(name: 'product')]
#[ORM\Entity]
#[UniqueEntity('slug')]
#[ApiResource(
operations: [
new Get(),
new GetCollection(),
new Put(security: "is_granted('ROLE_USER')",),
new Post(security: "is_granted('ROLE_USER')",),
new Patch(security: "is_granted('ROLE_USER')",),
new Delete(security: "is_granted('ROLE_USER')",),
],
normalizationContext: ['groups' => ['product:read']],
denormalizationContext: ['groups' => ['product:write']],
)]
class Product implements DateCmsInterface, AuthorCmsInterface
{
/**
* @var string
*
*/
#[ApiProperty(identifier: false)]
#[ORM\Column(name: 'id', type: \Doctrine\DBAL\Types\Types::BIGINT)]
#[ORM\Id]
#[ORM\GeneratedValue(strategy: 'IDENTITY')]
#[Groups(['product:read', 'product:write'])]
private ?string $id = null;
/**
* @var ProductType|null
*/
#[ORM\ManyToOne(targetEntity: ProductType::class)]
#[ORM\JoinColumn]
#[Groups(['product:read', 'product:write'])]
private ?\App\Entity\ProductType $type = null;
/**
* @var string|null
*/
#[Groups(['product:read'])]
public $typeName;
/**
* @var string
*/
#[ORM\Column(name: 'name', type: \Doctrine\DBAL\Types\Types::STRING, length: 255)]
#[Groups(['product:read', 'product:write'])]
private ?string $name = null;
/**
* @var string|null
*/
#[ORM\Column(name: 'descr', type: \Doctrine\DBAL\Types\Types::TEXT, length: 0, nullable: true)]
#[Groups(['product:read', 'product:write'])]
private ?string $descr = null;
/**
* @var string|null
*/
#[ORM\Column(name: 'short', type: \Doctrine\DBAL\Types\Types::TEXT, length: 0, nullable: true)]
#[Groups(['product:read', 'product:write'])]
private ?string $short = null;
/**
* @var string|null
*/
#[ORM\Column(name: 'youtube', type: \Doctrine\DBAL\Types\Types::STRING, length: 255, nullable: true)]
#[Groups(['product:read', 'product:write'])]
private ?string $youtube = null;
/**
* @var string|null
*/
#[ORM\Column(name: 'search_keywords', type: \Doctrine\DBAL\Types\Types::TEXT, length: 0, nullable: true)]
#[Groups(['product:read', 'product:write'])]
private ?string $searchKeywords = null;
/**
* @var bool|null
*/
#[ORM\Column(name: 'public', type: \Doctrine\DBAL\Types\Types::BOOLEAN, nullable: true, options: ['default' => 1])]
#[Groups(['product:read', 'product:write'])]
private ?bool $public = true;
/**
* @var string|null
*/
#[ORM\Column(name: 'title', type: \Doctrine\DBAL\Types\Types::STRING, length: 255, nullable: true)]
#[Groups(['product:read', 'product:write'])]
private ?string $title = null;
/**
* @var string|null
*/
#[ORM\Column(name: 'description', type: \Doctrine\DBAL\Types\Types::STRING, length: 255, nullable: true)]
#[Groups(['product:read', 'product:write'])]
private ?string $description = null;
/**
* @var \DateTimeInterface
*/
#[ORM\Column(name: 'created_at', type: \Doctrine\DBAL\Types\Types::DATETIME_MUTABLE)]
private ?\DateTimeInterface $createdAt = null;
/**
* @var \DateTimeInterface
*/
#[ORM\Column(name: 'updated_at', type: \Doctrine\DBAL\Types\Types::DATETIME_MUTABLE)]
private ?\DateTimeInterface $updatedAt = null;
#[Gedmo\Slug(fields: ["name"])]
#[ApiProperty(identifier: true)]
#[ORM\Column(type: \Doctrine\DBAL\Types\Types::STRING, nullable: true, length: 80, unique: true)]
#[Groups(['product:read', 'product:write'])]
private ?string $slug = null;
/**
* @var bool|null
*/
#[ORM\Column(name: 'promoted', type: \Doctrine\DBAL\Types\Types::BOOLEAN, nullable: true)]
#[Groups(['product:read', 'product:write'])]
private ?bool $promoted = false;
/**
* @var string|null
*/
#[ORM\Column(name: 't1_variety_name', type: \Doctrine\DBAL\Types\Types::STRING, length: 255, nullable: true)]
#[Groups(['product:read', 'product:write'])]
private ?string $t1VarietyName = null;
/**
* @var string|null
*/
#[ORM\Column(name: 't1_farmer', type: \Doctrine\DBAL\Types\Types::STRING, length: 255, nullable: true)]
#[Groups(['product:read', 'product:write'])]
private ?string $t1Farmer = null;
/**
* @var string|null
*/
#[ORM\Column(name: 't1_variety_type', type: \Doctrine\DBAL\Types\Types::STRING, length: 255, nullable: true)]
#[Groups(['product:read', 'product:write'])]
private ?string $t1VarietyType = null;
/**
* @var string|null
*/
#[ORM\Column(name: 't1_registry_country', type: \Doctrine\DBAL\Types\Types::STRING, length: 50, nullable: true)]
#[Groups(['product:read', 'product:write'])]
private ?string $t1RegistryCountry = null;
/**
* @var string|null
*/
#[ORM\Column(name: 't1_short_description', type: \Doctrine\DBAL\Types\Types::TEXT, length: 0, nullable: true)]
#[Groups(['product:read', 'product:write'])]
private ?string $t1ShortDescription = null;
/**
* @var string|null
*/
#[ORM\Column(name: 't1_usable_value', type: \Doctrine\DBAL\Types\Types::TEXT, length: 0, nullable: true)]
#[Groups(['product:read', 'product:write'])]
private ?string $t1UsableValue = null;
/**
* @var string|null
*/
#[ORM\Column(name: 't1_agronomy_profile', type: \Doctrine\DBAL\Types\Types::TEXT, length: 0, nullable: true)]
#[Groups(['product:read', 'product:write'])]
private ?string $t1AgronomyProfile = null;
/**
* @var string|null
*/
#[ORM\Column(name: 't1_cobor_link', type: \Doctrine\DBAL\Types\Types::STRING, length: 255, nullable: true)]
#[Groups(['product:read', 'product:write'])]
private ?string $t1CoborLink = null;
/**
* @var string|null
*/
#[ORM\Column(name: 't2_variety_name', type: \Doctrine\DBAL\Types\Types::STRING, length: 255, nullable: true)]
#[Groups(['product:read', 'product:write'])]
private ?string $t2VarietyName = null;
/**
* @var string|null
*/
#[ORM\Column(name: 't2_fao', type: \Doctrine\DBAL\Types\Types::TEXT, length: 0, nullable: true)]
#[Groups(['product:read', 'product:write'])]
private ?string $t2Fao = null;
/**
* @var string|null
*/
#[ORM\Column(name: 't2_farmer', type: \Doctrine\DBAL\Types\Types::STRING, length: 255, nullable: true)]
#[Groups(['product:read', 'product:write'])]
private ?string $t2Farmer = null;
/**
* @var string|null
*/
#[ORM\Column(name: 't2_registry_country', type: \Doctrine\DBAL\Types\Types::STRING, length: 50, nullable: true)]
#[Groups(['product:read', 'product:write'])]
private ?string $t2RegistryCountry = null;
/**
* @var string|null
*/
#[ORM\Column(name: 't2_variety_type', type: \Doctrine\DBAL\Types\Types::STRING, length: 255, nullable: true)]
#[Groups(['product:read', 'product:write'])]
private ?string $t2VarietyType = null;
/**
* @var string|null
*/
#[ORM\Column(name: 't2_short_description', type: \Doctrine\DBAL\Types\Types::TEXT, length: 0, nullable: true)]
#[Groups(['product:read', 'product:write'])]
private ?string $t2ShortDescription = null;
/**
* @var string|null
*/
#[ORM\Column(name: 't2_flask_image', type: \Doctrine\DBAL\Types\Types::BIGINT, nullable: true)]
#[Groups(['product:read', 'product:write'])]
private ?string $t2FlaskImage = null;
/**
* @var string|null
*/
#[ORM\Column(name: 't2_flask_section', type: \Doctrine\DBAL\Types\Types::BIGINT, nullable: true)]
#[Groups(['product:read', 'product:write'])]
private ?string $t2FlaskSection = null;
/**
* @var string|null
*/
#[ORM\Column(name: 't2_grain_section', type: \Doctrine\DBAL\Types\Types::BIGINT, nullable: true)]
#[Groups(['product:read', 'product:write'])]
private ?string $t2GrainSection = null;
/**
* @var string|null
*/
#[ORM\Column(name: 't2_suggested_use', type: \Doctrine\DBAL\Types\Types::TEXT, length: 0, nullable: true)]
#[Groups(['product:read', 'product:write'])]
private ?string $t2SuggestedUse = null;
/**
* @var string|null
*/
#[ORM\Column(name: 't2_recommendations', type: \Doctrine\DBAL\Types\Types::TEXT, length: 0, nullable: true)]
#[Groups(['product:read', 'product:write'])]
private ?string $t2Recommendations = null;
/**
* @var string|null
*/
#[ORM\Column(name: 't2_description', type: \Doctrine\DBAL\Types\Types::TEXT, length: 0, nullable: true)]
#[Groups(['product:read', 'product:write'])]
private ?string $t2Description = null;
/**
* @var string|null
*/
#[ORM\Column(name: 't2_cobor_link', type: \Doctrine\DBAL\Types\Types::STRING, length: 255, nullable: true)]
#[Groups(['product:read', 'product:write'])]
private ?string $t2CoborLink = null;
/**
* @var string|null
*/
#[ORM\Column(name: 't2_farmer_recommendation', type: \Doctrine\DBAL\Types\Types::TEXT, length: 0, nullable: true)]
#[Groups(['product:read', 'product:write'])]
private ?string $t2FarmerRecommendation = null;
/**
* @var string|null
*/
#[ORM\Column(name: 't2_cobor', type: \Doctrine\DBAL\Types\Types::TEXT, length: 0, nullable: true)]
#[Groups(['product:read', 'product:write'])]
private ?string $t2Cobor = null;
/**
* @var string|null
*/
#[ORM\Column(name: 't2_chart', type: \Doctrine\DBAL\Types\Types::TEXT, length: 0, nullable: true)]
#[Groups(['product:read', 'product:write'])]
private ?string $t2Chart = null;
/**
* @var string|null
*/
#[ORM\Column(name: 't2_soil_requirements', type: \Doctrine\DBAL\Types\Types::TEXT, length: 0, nullable: true)]
#[Groups(['product:read', 'product:write'])]
private ?string $t2SoilRequirements = null;
/**
* @var string|null
*/
#[ORM\Column(name: 't3_type', type: \Doctrine\DBAL\Types\Types::STRING, length: 255, nullable: true)]
#[Groups(['product:read', 'product:write'])]
private ?string $t3Type = null;
/**
* @var string|null
*/
#[ORM\Column(name: 't3_variety_name', type: \Doctrine\DBAL\Types\Types::STRING, length: 255, nullable: true)]
#[Groups(['product:read', 'product:write'])]
private ?string $t3VarietyName = null;
/**
* @var string|null
*/
#[ORM\Column(name: 't3_quality_class', type: \Doctrine\DBAL\Types\Types::BIGINT, nullable: true)]
#[Groups(['product:read', 'product:write'])]
private ?string $t3QualityClass = null;
/**
* @var string|null
*/
#[ORM\Column(name: 't3_short_description', type: \Doctrine\DBAL\Types\Types::TEXT, length: 0, nullable: true)]
#[Groups(['product:read', 'product:write'])]
private ?string $t3ShortDescription = null;
/**
* @var string|null
*/
#[ORM\Column(name: 't3_registry_country', type: \Doctrine\DBAL\Types\Types::STRING, length: 50, nullable: true)]
#[Groups(['product:read', 'product:write'])]
private ?string $t3RegistryCountry = null;
/**
* @var string|null
*/
#[ORM\Column(name: 't3_description', type: \Doctrine\DBAL\Types\Types::TEXT, length: 0, nullable: true)]
#[Groups(['product:read', 'product:write'])]
private ?string $t3Description = null;
/**
* @var string|null
*/
#[ORM\Column(name: 't3_description2', type: \Doctrine\DBAL\Types\Types::TEXT, length: 0, nullable: true)]
#[Groups(['product:read', 'product:write'])]
private ?string $t3Description2 = null;
/**
* @var string|null
*/
#[ORM\Column(name: 't3_description3', type: \Doctrine\DBAL\Types\Types::TEXT, length: 0, nullable: true)]
#[Groups(['product:read', 'product:write'])]
private ?string $t3Description3 = null;
/**
* @var string|null
*/
#[ORM\Column(name: 't3_cobor_link', type: \Doctrine\DBAL\Types\Types::STRING, length: 255, nullable: true)]
#[Groups(['product:read', 'product:write'])]
private ?string $t3CoborLink = null;
/**
* @var string|null
*/
#[ORM\Column(name: 't4_product_name', type: \Doctrine\DBAL\Types\Types::STRING, length: 255, nullable: true)]
#[Groups(['product:read', 'product:write'])]
private ?string $t4ProductName = null;
/**
* @var string|null
*/
#[ORM\Column(name: 't4_product_type', type: \Doctrine\DBAL\Types\Types::STRING, length: 255, nullable: true)]
#[Groups(['product:read', 'product:write'])]
private ?string $t4ProductType = null;
/**
* @var string|null
*/
#[ORM\Column(name: 't4_formulation', type: \Doctrine\DBAL\Types\Types::STRING, length: 255, nullable: true)]
#[Groups(['product:read', 'product:write'])]
private ?string $t4Formulation = null;
/**
* @var string|null
*/
#[ORM\Column(name: 't4_permit_number', type: \Doctrine\DBAL\Types\Types::STRING, length: 255, nullable: true)]
#[Groups(['product:read', 'product:write'])]
private ?string $t4PermitNumber = null;
/**
* @var string|null
*/
#[ORM\Column(name: 't4_info_image', type: \Doctrine\DBAL\Types\Types::BIGINT, nullable: true)]
#[Groups(['product:read', 'product:write'])]
private ?string $t4InfoImage = null;
/**
* @var string|null
*/
#[ORM\Column(name: 't4_application', type: \Doctrine\DBAL\Types\Types::TEXT, length: 0, nullable: true)]
#[Groups(['product:read', 'product:write'])]
private ?string $t4Application = null;
/**
* @var string|null
*/
#[ORM\Column(name: 't4_action_description', type: \Doctrine\DBAL\Types\Types::TEXT, length: 0, nullable: true)]
#[Groups(['product:read', 'product:write'])]
private ?string $t4ActionDescription = null;
/**
* @var string|null
*/
#[ORM\Column(name: 't4_recommended_dose', type: \Doctrine\DBAL\Types\Types::TEXT, length: 0, nullable: true)]
#[Groups(['product:read', 'product:write'])]
private ?string $t4RecommendedDose = null;
/**
* @var string|null
*/
#[ORM\Column(name: 't4_date_of_application', type: \Doctrine\DBAL\Types\Types::TEXT, length: 0, nullable: true)]
#[Groups(['product:read', 'product:write'])]
private ?string $t4DateOfApplication = null;
/**
* @var string|null
*/
#[ORM\Column(name: 't4_recommended_treatment', type: \Doctrine\DBAL\Types\Types::TEXT, length: 0, nullable: true)]
#[Groups(['product:read', 'product:write'])]
private ?string $t4RecommendedTreatment = null;
/**
* @var string|null
*/
#[ORM\Column(name: 't4_treatment_number', type: \Doctrine\DBAL\Types\Types::STRING, length: 255, nullable: true)]
#[Groups(['product:read', 'product:write'])]
private ?string $t4TreatmentNumber = null;
/**
* @var string|null
*/
#[ORM\Column(name: 't4_active_ingredient', type: \Doctrine\DBAL\Types\Types::STRING, length: 255, nullable: true)]
#[Groups(['product:read', 'product:write'])]
private ?string $t4ActiveIngredient = null;
/**
* @var string|null
*/
#[ORM\Column(name: 't4_available_package', type: \Doctrine\DBAL\Types\Types::TEXT, length: 0, nullable: true)]
#[Groups(['product:read', 'product:write'])]
private ?string $t4AvailablePackage = null;
/**
* @var string|null
*/
#[ORM\Column(name: 't4_kind_of_threat', type: \Doctrine\DBAL\Types\Types::TEXT, length: 0, nullable: true)]
#[Groups(['product:read', 'product:write'])]
private ?string $t4KindOfThreat = null;
/**
* @var string|null
*/
#[ORM\Column(name: 't4_safe_use', type: \Doctrine\DBAL\Types\Types::TEXT, length: 0, nullable: true)]
#[Groups(['product:read', 'product:write'])]
private ?string $t4SafeUse = null;
/**
* @var string|null
*/
#[ORM\Column(name: 't4_safe_use_pikto', type: \Doctrine\DBAL\Types\Types::TEXT, length: 0, nullable: true)]
#[Groups(['product:read', 'product:write'])]
private ?string $t4SafeUsePikto = null;
/**
* @var string|null
*/
#[ORM\Column(name: 't4_technology', type: \Doctrine\DBAL\Types\Types::TEXT, length: 0, nullable: true)]
#[Groups(['product:read', 'product:write'])]
private ?string $t4Technology = null;
/**
* @var string|null
*/
#[ORM\Column(name: 't4_link', type: \Doctrine\DBAL\Types\Types::STRING, length: 255, nullable: true)]
#[Groups(['product:read', 'product:write'])]
private ?string $t4Link = null;
/**
* @var string|null
*/
#[ORM\Column(name: 't4_advertisment', type: \Doctrine\DBAL\Types\Types::STRING, length: 255, nullable: true)]
#[Groups(['product:read', 'product:write'])]
private ?string $t4Advertisment = null;
/**
* @var string|null
*/
#[ORM\Column(name: 't4_legal_info', type: \Doctrine\DBAL\Types\Types::TEXT, length: 0, nullable: true)]
#[Groups(['product:read', 'product:write'])]
private ?string $t4LegalInfo = null;
/**
* @var string|null
*/
#[ORM\Column(name: 't4_prize', type: \Doctrine\DBAL\Types\Types::TEXT, length: 0, nullable: true)]
#[Groups(['product:read', 'product:write'])]
private ?string $t4Prize = null;
/**
* @var string|null
*/
#[ORM\Column(name: 't5_trade_name', type: \Doctrine\DBAL\Types\Types::STRING, length: 255, nullable: true)]
#[Groups(['product:read', 'product:write'])]
private ?string $t5TradeName = null;
/**
* @var string|null
*/
#[ORM\Column(name: 't5_chemical_name', type: \Doctrine\DBAL\Types\Types::STRING, length: 255, nullable: true)]
#[Groups(['product:read', 'product:write'])]
private ?string $t5ChemicalName = null;
/**
* @var string|null
*/
#[ORM\Column(name: 't5_formula', type: \Doctrine\DBAL\Types\Types::TEXT, length: 0, nullable: true)]
#[Groups(['product:read', 'product:write'])]
private ?string $t5Formula = null;
/**
* @var string|null
*/
#[ORM\Column(name: 't5_ingredients', type: \Doctrine\DBAL\Types\Types::TEXT, length: 0, nullable: true)]
#[Groups(['product:read', 'product:write'])]
private ?string $t5Ingredients = null;
/**
* @var string|null
*/
#[ORM\Column(name: 't5_pkwiu_number', type: \Doctrine\DBAL\Types\Types::STRING, length: 255, nullable: true)]
#[Groups(['product:read', 'product:write'])]
private ?string $t5PkwiuNumber = null;
/**
* @var string|null
*/
#[ORM\Column(name: 't5_cn_number', type: \Doctrine\DBAL\Types\Types::STRING, length: 255, nullable: true)]
#[Groups(['product:read', 'product:write'])]
private ?string $t5CnNumber = null;
/**
* @var string|null
*/
#[ORM\Column(name: 't5_description', type: \Doctrine\DBAL\Types\Types::TEXT, length: 0, nullable: true)]
#[Groups(['product:read', 'product:write'])]
private ?string $t5Description = null;
/**
* @var string|null
*/
#[ORM\Column(name: 't5_image', type: \Doctrine\DBAL\Types\Types::BIGINT, nullable: true)]
#[Groups(['product:read', 'product:write'])]
private ?string $t5Image = null;
/**
* @var string|null
*/
#[ORM\Column(name: 't6_name', type: \Doctrine\DBAL\Types\Types::STRING, length: 255, nullable: true)]
#[Groups(['product:read', 'product:write'])]
private ?string $t6Name = null;
/**
* @var string|null
*/
#[ORM\Column(name: 't6_type', type: \Doctrine\DBAL\Types\Types::STRING, length: 255, nullable: true)]
#[Groups(['product:read', 'product:write'])]
private ?string $t6Type = null;
/**
* @var string|null
*/
#[ORM\Column(name: 't6_short_description', type: \Doctrine\DBAL\Types\Types::TEXT, length: 0, nullable: true)]
#[Groups(['product:read', 'product:write'])]
private ?string $t6ShortDescription = null;
/**
* @var string|null
*/
#[ORM\Column(name: 't6_short_description2', type: \Doctrine\DBAL\Types\Types::TEXT, length: 0, nullable: true)]
#[Groups(['product:read', 'product:write'])]
private ?string $t6ShortDescription2 = null;
/**
* @var string|null
*/
#[ORM\Column(name: 't6_description', type: \Doctrine\DBAL\Types\Types::TEXT, length: 0, nullable: true)]
#[Groups(['product:read', 'product:write'])]
private ?string $t6Description = null;
/**
* @var string|null
*/
#[ORM\Column(name: 't6_condition', type: \Doctrine\DBAL\Types\Types::BIGINT, nullable: true)]
#[Groups(['product:read', 'product:write'])]
private ?string $t6Condition = null;
/**
* @var string|null
*/
#[ORM\Column(name: 't7_product_name', type: \Doctrine\DBAL\Types\Types::STRING, length: 255, nullable: true)]
#[Groups(['product:read', 'product:write'])]
private ?string $t7ProductName = null;
/**
* @var string|null
*/
#[ORM\Column(name: 't7_product_type', type: \Doctrine\DBAL\Types\Types::STRING, length: 255, nullable: true)]
#[Groups(['product:read', 'product:write'])]
private ?string $t7ProductType = null;
/**
* @var string|null
*/
#[ORM\Column(name: 't7_safe_use', type: \Doctrine\DBAL\Types\Types::TEXT, length: 0, nullable: true)]
#[Groups(['product:read', 'product:write'])]
private ?string $t7SafeUse = null;
/**
* @var string|null
*/
#[ORM\Column(name: 't1_recommendations', type: \Doctrine\DBAL\Types\Types::TEXT, length: 0, nullable: true)]
#[Groups(['product:read', 'product:write'])]
private ?string $t1Recommendations = null;
/**
* @var string|null
*/
#[ORM\Column(name: 't4_product_features', type: \Doctrine\DBAL\Types\Types::TEXT, length: 0, nullable: true)]
#[Groups(['product:read', 'product:write'])]
private ?string $t4ProductFeatures = null;
/**
* @var string|null
*/
#[ORM\Column(name: 't4_combated_pests', type: \Doctrine\DBAL\Types\Types::TEXT, length: 0, nullable: true)]
#[Groups(['product:read', 'product:write'])]
private ?string $t4CombatedPests = null;
/**
* @var string|null
*/
#[ORM\Column(name: 'producer_name', type: \Doctrine\DBAL\Types\Types::STRING, length: 255, nullable: true)]
#[Groups(['product:read', 'product:write'])]
private ?string $producerName = null;
/**
* @var MediaObject|null
*
*/
#[ApiProperty(types: ["https://schema.org/image"])]
#[ORM\ManyToOne(targetEntity: MediaObject::class)]
#[ORM\JoinColumn]
#[Groups(['product:read', 'product:write'])]
private ?\App\Entity\MediaObject $producerImage = null;
/**
* @var string|null
*/
#[ORM\Column(name: 'download', type: \Doctrine\DBAL\Types\Types::TEXT, length: 0, nullable: true)]
#[Groups(['product:read', 'product:write'])]
private ?string $download = null;
/**
* @var bool|null
*/
#[ORM\Column(name: 'new', type: \Doctrine\DBAL\Types\Types::BOOLEAN, nullable: true, options: ['default' => 1])]
#[Groups(['product:read', 'product:write'])]
private ?bool $new = true;
/**
* @var bool|null
*/
#[ORM\Column(name: 'kurka_available', type: \Doctrine\DBAL\Types\Types::BOOLEAN, nullable: true, options: ['default' => 1])]
#[Groups(['product:read', 'product:write'])]
private ?bool $kurkaAvailable = true;
/**
* @var string|null
*/
#[ORM\Column(name: 't7_short_description', type: \Doctrine\DBAL\Types\Types::TEXT, length: 0, nullable: true)]
#[Groups(['product:read', 'product:write'])]
private ?string $t7ShortDescription = null;
/**
* @var string|null
*/
#[ORM\Column(name: 't3_chart', type: \Doctrine\DBAL\Types\Types::TEXT, length: 0, nullable: true)]
#[Groups(['product:read', 'product:write'])]
private ?string $t3Chart = null;
/**
* @var int|null
*/
#[ORM\Column(name: 'filter_quality_class', type: \Doctrine\DBAL\Types\Types::INTEGER, nullable: true)]
#[Groups(['product:read', 'product:write'])]
private ?int $filterQualityClass = null;
/**
* @var int|null
*/
#[ORM\Column(name: 'filter_soil_requirements', type: \Doctrine\DBAL\Types\Types::INTEGER, nullable: true)]
#[Groups(['product:read', 'product:write'])]
private ?int $filterSoilRequirements = null;
/**
* @var int|null
*/
#[ORM\Column(name: 'filter_fao', type: \Doctrine\DBAL\Types\Types::INTEGER, nullable: true)]
#[Groups(['product:read', 'product:write'])]
private ?int $filterFao = null;
/**
* @var int|null
*/
#[ORM\Column(name: 'filter_suggested_use', type: \Doctrine\DBAL\Types\Types::INTEGER, nullable: true)]
#[Groups(['product:read', 'product:write'])]
private ?int $filterSuggestedUse = null;
/**
* @var int|null
*/
#[ORM\Column(name: 'filter_brand', type: \Doctrine\DBAL\Types\Types::INTEGER, nullable: true)]
#[Groups(['product:read', 'product:write'])]
private ?int $filterBrand = null;
/**
* @var int|null
*/
#[ORM\Column(name: 'filter_type', type: \Doctrine\DBAL\Types\Types::INTEGER, nullable: true)]
#[Groups(['product:read', 'product:write'])]
private ?int $filterType = null;
/**
* @var int|null
*/
#[ORM\Column(name: 'filter_type2', type: \Doctrine\DBAL\Types\Types::INTEGER, nullable: true)]
#[Groups(['product:read', 'product:write'])]
private ?int $filterType2 = null;
/**
* @var int|null
*/
#[ORM\Column(name: 'filter_type3', type: \Doctrine\DBAL\Types\Types::INTEGER, nullable: true)]
#[Groups(['product:read', 'product:write'])]
private ?int $filterType3 = null;
/**
* @var string|null
*/
#[ORM\Column(name: 'filter_fertilizer_type', type: \Doctrine\DBAL\Types\Types::STRING, length: 255, nullable: true)]
#[Groups(['product:read', 'product:write'])]
private ?string $filterFertilizerType = null;
/**
* @var MediaObject|null
*
*/
#[ApiProperty(types: ["https://schema.org/image"])]
#[ORM\ManyToOne(targetEntity: MediaObject::class)]
#[ORM\JoinColumn]
#[Groups(['product:read', 'product:write'])]
private ?\App\Entity\MediaObject $packshot = null;
#[ORM\ManyToOne(targetEntity: User::class)]
#[Groups(['product:read', 'product:write'])]
private ?\App\Entity\User $author = null;
/**
* @var \Doctrine\Common\Collections\Collection<\App\Entity\Category>
*/
#[ApiFilter(SearchFilter::class)]
#[ORM\ManyToMany(targetEntity: Category::class, inversedBy: 'products')]
#[Groups(['product:read', 'product:write'])]
private \Doctrine\Common\Collections\Collection $category;
/**
* @var \Doctrine\Common\Collections\Collection<\App\Entity\FilterUse>
*/
#[ApiProperty(readableLink:true, writableLink:true)]
#[ApiFilter(SearchFilter::class, properties: ["filterUse.name" => "exact"])]
#[ORM\ManyToMany(targetEntity: FilterUse::class)]
#[Groups(['product:read', 'product:write'])]
private \Doctrine\Common\Collections\Collection $filterUse;
/**
* @var \Doctrine\Common\Collections\Collection<\App\Entity\Product>
*/
#[ApiProperty(readableLink:false, writableLink:false)]
#[ORM\ManyToMany(targetEntity: Product::class)]
#[Groups(['product:read', 'product:write'])]
private \Doctrine\Common\Collections\Collection $related;
/**
* @var string|null
*
*/
#[ApiProperty(types: ["https://schema.org/contentUrl"])]
#[Groups(['media_object_read', 'product:read', 'product:write'])]
public $packshotUrl;
/**
* @var string|null
*
*/
#[ApiProperty(types: ["https://schema.org/contentUrl"])]
#[Groups(['media_object_read', 'product:read', 'product:write'])]
public $producerImageUrl;
#[ORM\Column(type: \Doctrine\DBAL\Types\Types::BOOLEAN)]
#[Groups(['product:read', 'product:write'])]
private ?bool $showDescription = false;
#[ORM\Column(type: \Doctrine\DBAL\Types\Types::STRING, length: 255, nullable: true)]
#[Groups(['product:read', 'product:write'])]
private ?string $link = null;
public function __construct()
{
$this->category = new ArrayCollection();
$this->filterUse = new ArrayCollection();
$this->related = new ArrayCollection();
}
public function getId(): ?string
{
return $this->id;
}
public function getName(): ?string
{
return $this->name;
}
public function setName(string $name): self
{
$this->name = $name;
return $this;
}
public function getDescr(): ?string
{
return $this->descr;
}
public function setDescr(?string $descr): self
{
$this->descr = $descr;
return $this;
}
public function getShort(): ?string
{
return $this->short;
}
public function setShort(?string $short): self
{
$this->short = $short;
return $this;
}
public function getYoutube(): ?string
{
return $this->youtube;
}
public function setYoutube(?string $youtube): self
{
$this->youtube = $youtube;
return $this;
}
public function getTitle(): ?string
{
return $this->title;
}
public function setTitle(?string $title): self
{
$this->title = $title;
return $this;
}
public function getDescription(): ?string
{
return $this->description;
}
public function setDescription(?string $description): self
{
$this->description = $description;
return $this;
}
public function getCreatedAt(): ?\DateTimeInterface
{
return $this->createdAt;
}
public function setCreatedAt(\DateTimeInterface $createdAt): self
{
$this->createdAt = $createdAt;
return $this;
}
public function getUpdatedAt(): ?\DateTimeInterface
{
return $this->updatedAt;
}
public function setUpdatedAt(\DateTimeInterface $updatedAt): self
{
$this->updatedAt = $updatedAt;
return $this;
}
public function getSlug(): ?string
{
return $this->slug;
}
public function setSlug(string $slug): self
{
$this->slug = $slug;
return $this;
}
public function getPromoted(): ?bool
{
return $this->promoted;
}
public function setPromoted(?bool $promoted): self
{
$this->promoted = $promoted;
return $this;
}
public function getT1VarietyName(): ?string
{
return $this->t1VarietyName;
}
public function setT1VarietyName(?string $t1VarietyName): self
{
$this->t1VarietyName = $t1VarietyName;
return $this;
}
public function getT1Farmer(): ?string
{
return $this->t1Farmer;
}
public function setT1Farmer(?string $t1Farmer): self
{
$this->t1Farmer = $t1Farmer;
return $this;
}
public function getT1VarietyType(): ?string
{
return $this->t1VarietyType;
}
public function setT1VarietyType(?string $t1VarietyType): self
{
$this->t1VarietyType = $t1VarietyType;
return $this;
}
public function getT1RegistryCountry(): ?string
{
return $this->t1RegistryCountry;
}
public function setT1RegistryCountry(?string $t1RegistryCountry): self
{
$this->t1RegistryCountry = $t1RegistryCountry;
return $this;
}
public function getT1ShortDescription(): ?string
{
return $this->t1ShortDescription;
}
public function setT1ShortDescription(?string $t1ShortDescription): self
{
$this->t1ShortDescription = $t1ShortDescription;
return $this;
}
public function getT1UsableValue(): ?string
{
return $this->t1UsableValue;
}
public function setT1UsableValue(?string $t1UsableValue): self
{
$this->t1UsableValue = $t1UsableValue;
return $this;
}
public function getT1AgronomyProfile(): ?string
{
return $this->t1AgronomyProfile;
}
public function setT1AgronomyProfile(?string $t1AgronomyProfile): self
{
$this->t1AgronomyProfile = $t1AgronomyProfile;
return $this;
}
public function getT1CoborLink(): ?string
{
return $this->t1CoborLink;
}
public function setT1CoborLink(?string $t1CoborLink): self
{
$this->t1CoborLink = $t1CoborLink;
return $this;
}
public function getT2VarietyName(): ?string
{
return $this->t2VarietyName;
}
public function setT2VarietyName(?string $t2VarietyName): self
{
$this->t2VarietyName = $t2VarietyName;
return $this;
}
public function getT2Fao(): ?string
{
return $this->t2Fao;
}
public function setT2Fao(?string $t2Fao): self
{
$this->t2Fao = $t2Fao;
return $this;
}
public function getT2Farmer(): ?string
{
return $this->t2Farmer;
}
public function setT2Farmer(?string $t2Farmer): self
{
$this->t2Farmer = $t2Farmer;
return $this;
}
public function getT2RegistryCountry(): ?string
{
return $this->t2RegistryCountry;
}
public function setT2RegistryCountry(?string $t2RegistryCountry): self
{
$this->t2RegistryCountry = $t2RegistryCountry;
return $this;
}
public function getT2VarietyType(): ?string
{
return $this->t2VarietyType;
}
public function setT2VarietyType(?string $t2VarietyType): self
{
$this->t2VarietyType = $t2VarietyType;
return $this;
}
public function getT2ShortDescription(): ?string
{
return $this->t2ShortDescription;
}
public function setT2ShortDescription(?string $t2ShortDescription): self
{
$this->t2ShortDescription = $t2ShortDescription;
return $this;
}
public function getT2FlaskImage(): ?string
{
return $this->t2FlaskImage;
}
public function setT2FlaskImage(?string $t2FlaskImage): self
{
$this->t2FlaskImage = $t2FlaskImage;
return $this;
}
public function getT2FlaskSection(): ?string
{
return $this->t2FlaskSection;
}
public function setT2FlaskSection(?string $t2FlaskSection): self
{
$this->t2FlaskSection = $t2FlaskSection;
return $this;
}
public function getT2GrainSection(): ?string
{
return $this->t2GrainSection;
}
public function setT2GrainSection(?string $t2GrainSection): self
{
$this->t2GrainSection = $t2GrainSection;
return $this;
}
public function getT2SuggestedUse(): ?string
{
return $this->t2SuggestedUse;
}
public function setT2SuggestedUse(?string $t2SuggestedUse): self
{
$this->t2SuggestedUse = $t2SuggestedUse;
return $this;
}
public function getT2Recommendations(): ?string
{
return $this->t2Recommendations;
}
public function setT2Recommendations(?string $t2Recommendations): self
{
$this->t2Recommendations = $t2Recommendations;
return $this;
}
public function getT2Description(): ?string
{
return $this->t2Description;
}
public function setT2Description(?string $t2Description): self
{
$this->t2Description = $t2Description;
return $this;
}
public function getT2CoborLink(): ?string
{
return $this->t2CoborLink;
}
public function setT2CoborLink(?string $t2CoborLink): self
{
$this->t2CoborLink = $t2CoborLink;
return $this;
}
public function getT2FarmerRecommendation(): ?string
{
return $this->t2FarmerRecommendation;
}
public function setT2FarmerRecommendation(?string $t2FarmerRecommendation): self
{
$this->t2FarmerRecommendation = $t2FarmerRecommendation;
return $this;
}
public function getT2Cobor(): ?string
{
return $this->t2Cobor;
}
public function setT2Cobor(?string $t2Cobor): self
{
$this->t2Cobor = $t2Cobor;
return $this;
}
public function getT2Chart(): ?string
{
return $this->t2Chart;
}
public function setT2Chart(?string $t2Chart): self
{
$this->t2Chart = $t2Chart;
return $this;
}
public function getT2SoilRequirements(): ?string
{
return $this->t2SoilRequirements;
}
public function setT2SoilRequirements(?string $t2SoilRequirements): self
{
$this->t2SoilRequirements = $t2SoilRequirements;
return $this;
}
public function getT3Type(): ?string
{
return $this->t3Type;
}
public function setT3Type(?string $t3Type): self
{
$this->t3Type = $t3Type;
return $this;
}
public function getT3VarietyName(): ?string
{
return $this->t3VarietyName;
}
public function setT3VarietyName(?string $t3VarietyName): self
{
$this->t3VarietyName = $t3VarietyName;
return $this;
}
public function getT3QualityClass(): ?string
{
return $this->t3QualityClass;
}
public function setT3QualityClass(?string $t3QualityClass): self
{
$this->t3QualityClass = $t3QualityClass;
return $this;
}
public function getT3ShortDescription(): ?string
{
return $this->t3ShortDescription;
}
public function setT3ShortDescription(?string $t3ShortDescription): self
{
$this->t3ShortDescription = $t3ShortDescription;
return $this;
}
public function getT3RegistryCountry(): ?string
{
return $this->t3RegistryCountry;
}
public function setT3RegistryCountry(?string $t3RegistryCountry): self
{
$this->t3RegistryCountry = $t3RegistryCountry;
return $this;
}
public function getT3Description(): ?string
{
return $this->t3Description;
}
public function setT3Description(?string $t3Description): self
{
$this->t3Description = $t3Description;
return $this;
}
public function getT3Description2(): ?string
{
return $this->t3Description2;
}
public function setT3Description2(?string $t3Description2): self
{
$this->t3Description2 = $t3Description2;
return $this;
}
public function getT3Description3(): ?string
{
return $this->t3Description3;
}
public function setT3Description3(?string $t3Description3): self
{
$this->t3Description3 = $t3Description3;
return $this;
}
public function getT3CoborLink(): ?string
{
return $this->t3CoborLink;
}
public function setT3CoborLink(?string $t3CoborLink): self
{
$this->t3CoborLink = $t3CoborLink;
return $this;
}
public function getT4ProductName(): ?string
{
return $this->t4ProductName;
}
public function setT4ProductName(?string $t4ProductName): self
{
$this->t4ProductName = $t4ProductName;
return $this;
}
public function getT4ProductType(): ?string
{
return $this->t4ProductType;
}
public function setT4ProductType(?string $t4ProductType): self
{
$this->t4ProductType = $t4ProductType;
return $this;
}
public function getT4Formulation(): ?string
{
return $this->t4Formulation;
}
public function setT4Formulation(?string $t4Formulation): self
{
$this->t4Formulation = $t4Formulation;
return $this;
}
public function getT4PermitNumber(): ?string
{
return $this->t4PermitNumber;
}
public function setT4PermitNumber(?string $t4PermitNumber): self
{
$this->t4PermitNumber = $t4PermitNumber;
return $this;
}
public function getT4InfoImage(): ?string
{
return $this->t4InfoImage;
}
public function setT4InfoImage(?string $t4InfoImage): self
{
$this->t4InfoImage = $t4InfoImage;
return $this;
}
public function getT4Application(): ?string
{
return $this->t4Application;
}
public function setT4Application(?string $t4Application): self
{
$this->t4Application = $t4Application;
return $this;
}
public function getT4ActionDescription(): ?string
{
return $this->t4ActionDescription;
}
public function setT4ActionDescription(?string $t4ActionDescription): self
{
$this->t4ActionDescription = $t4ActionDescription;
return $this;
}
public function getT4RecommendedDose(): ?string
{
return $this->t4RecommendedDose;
}
public function setT4RecommendedDose(?string $t4RecommendedDose): self
{
$this->t4RecommendedDose = $t4RecommendedDose;
return $this;
}
public function getT4DateOfApplication(): ?string
{
return $this->t4DateOfApplication;
}
public function setT4DateOfApplication(?string $t4DateOfApplication): self
{
$this->t4DateOfApplication = $t4DateOfApplication;
return $this;
}
public function getT4RecommendedTreatment(): ?string
{
return $this->t4RecommendedTreatment;
}
public function setT4RecommendedTreatment(?string $t4RecommendedTreatment): self
{
$this->t4RecommendedTreatment = $t4RecommendedTreatment;
return $this;
}
public function getT4TreatmentNumber(): ?string
{
return $this->t4TreatmentNumber;
}
public function setT4TreatmentNumber(?string $t4TreatmentNumber): self
{
$this->t4TreatmentNumber = $t4TreatmentNumber;
return $this;
}
public function getT4ActiveIngredient(): ?string
{
return $this->t4ActiveIngredient;
}
public function setT4ActiveIngredient(?string $t4ActiveIngredient): self
{
$this->t4ActiveIngredient = $t4ActiveIngredient;
return $this;
}
public function getT4AvailablePackage(): ?string
{
return $this->t4AvailablePackage;
}
public function setT4AvailablePackage(?string $t4AvailablePackage): self
{
$this->t4AvailablePackage = $t4AvailablePackage;
return $this;
}
public function getT4KindOfThreat(): ?string
{
return $this->t4KindOfThreat;
}
public function setT4KindOfThreat(?string $t4KindOfThreat): self
{
$this->t4KindOfThreat = $t4KindOfThreat;
return $this;
}
public function getT4SafeUse(): ?string
{
return $this->t4SafeUse;
}
public function setT4SafeUse(?string $t4SafeUse): self
{
$this->t4SafeUse = $t4SafeUse;
return $this;
}
public function getT4SafeUsePikto(): ?string
{
return $this->t4SafeUsePikto;
}
public function setT4SafeUsePikto(?string $t4SafeUsePikto): self
{
$this->t4SafeUsePikto = $t4SafeUsePikto;
return $this;
}
public function getT4Technology(): ?string
{
return $this->t4Technology;
}
public function setT4Technology(?string $t4Technology): self
{
$this->t4Technology = $t4Technology;
return $this;
}
public function getT4Link(): ?string
{
return $this->t4Link;
}
public function setT4Link(?string $t4Link): self
{
$this->t4Link = $t4Link;
return $this;
}
public function getT4Advertisment(): ?string
{
return $this->t4Advertisment;
}
public function setT4Advertisment(?string $t4Advertisment): self
{
$this->t4Advertisment = $t4Advertisment;
return $this;
}
public function getT4LegalInfo(): ?string
{
return $this->t4LegalInfo;
}
public function setT4LegalInfo(?string $t4LegalInfo): self
{
$this->t4LegalInfo = $t4LegalInfo;
return $this;
}
public function getT4Prize(): ?string
{
return $this->t4Prize;
}
public function setT4Prize(?string $t4Prize): self
{
$this->t4Prize = $t4Prize;
return $this;
}
public function getT5TradeName(): ?string
{
return $this->t5TradeName;
}
public function setT5TradeName(?string $t5TradeName): self
{
$this->t5TradeName = $t5TradeName;
return $this;
}
public function getT5ChemicalName(): ?string
{
return $this->t5ChemicalName;
}
public function setT5ChemicalName(?string $t5ChemicalName): self
{
$this->t5ChemicalName = $t5ChemicalName;
return $this;
}
public function getT5Formula(): ?string
{
return $this->t5Formula;
}
public function setT5Formula(?string $t5Formula): self
{
$this->t5Formula = $t5Formula;
return $this;
}
public function getT5Ingredients(): ?string
{
return $this->t5Ingredients;
}
public function setT5Ingredients(?string $t5Ingredients): self
{
$this->t5Ingredients = $t5Ingredients;
return $this;
}
public function getT5PkwiuNumber(): ?string
{
return $this->t5PkwiuNumber;
}
public function setT5PkwiuNumber(?string $t5PkwiuNumber): self
{
$this->t5PkwiuNumber = $t5PkwiuNumber;
return $this;
}
public function getT5CnNumber(): ?string
{
return $this->t5CnNumber;
}
public function setT5CnNumber(?string $t5CnNumber): self
{
$this->t5CnNumber = $t5CnNumber;
return $this;
}
public function getT5Description(): ?string
{
return $this->t5Description;
}
public function setT5Description(?string $t5Description): self
{
$this->t5Description = $t5Description;
return $this;
}
public function getT5Image(): ?string
{
return $this->t5Image;
}
public function setT5Image(?string $t5Image): self
{
$this->t5Image = $t5Image;
return $this;
}
public function getT6Name(): ?string
{
return $this->t6Name;
}
public function setT6Name(?string $t6Name): self
{
$this->t6Name = $t6Name;
return $this;
}
public function getT6Type(): ?string
{
return $this->t6Type;
}
public function setT6Type(?string $t6Type): self
{
$this->t6Type = $t6Type;
return $this;
}
public function getT6ShortDescription(): ?string
{
return $this->t6ShortDescription;
}
public function setT6ShortDescription(?string $t6ShortDescription): self
{
$this->t6ShortDescription = $t6ShortDescription;
return $this;
}
public function getT6ShortDescription2(): ?string
{
return $this->t6ShortDescription2;
}
public function setT6ShortDescription2(?string $t6ShortDescription2): self
{
$this->t6ShortDescription2 = $t6ShortDescription2;
return $this;
}
public function getT6Description(): ?string
{
return $this->t6Description;
}
public function setT6Description(?string $t6Description): self
{
$this->t6Description = $t6Description;
return $this;
}
public function getT6Condition(): ?string
{
return $this->t6Condition;
}
public function setT6Condition(?string $t6Condition): self
{
$this->t6Condition = $t6Condition;
return $this;
}
public function getT7ProductName(): ?string
{
return $this->t7ProductName;
}
public function setT7ProductName(?string $t7ProductName): self
{
$this->t7ProductName = $t7ProductName;
return $this;
}
public function getT7ProductType(): ?string
{
return $this->t7ProductType;
}
public function setT7ProductType(?string $t7ProductType): self
{
$this->t7ProductType = $t7ProductType;
return $this;
}
public function getT7SafeUse(): ?string
{
return $this->t7SafeUse;
}
public function setT7SafeUse(?string $t7SafeUse): self
{
$this->t7SafeUse = $t7SafeUse;
return $this;
}
public function getT1Recommendations(): ?string
{
return $this->t1Recommendations;
}
public function setT1Recommendations(?string $t1Recommendations): self
{
$this->t1Recommendations = $t1Recommendations;
return $this;
}
public function getT4ProductFeatures(): ?string
{
return $this->t4ProductFeatures;
}
public function setT4ProductFeatures(?string $t4ProductFeatures): self
{
$this->t4ProductFeatures = $t4ProductFeatures;
return $this;
}
public function getT4CombatedPests(): ?string
{
return $this->t4CombatedPests;
}
public function setT4CombatedPests(?string $t4CombatedPests): self
{
$this->t4CombatedPests = $t4CombatedPests;
return $this;
}
public function getProducerName(): ?string
{
return $this->producerName;
}
public function setProducerName(?string $producerName): self
{
$this->producerName = $producerName;
return $this;
}
public function getProducerImage(): ?MediaObject
{
return $this->producerImage;
}
public function setProducerImage(?MediaObject $producerImage): void
{
$this->producerImage = $producerImage;
}
public function getDownload(): ?string
{
return $this->download;
}
public function setDownload(?string $download): self
{
$this->download = $download;
return $this;
}
public function getNew(): ?bool
{
return $this->new;
}
public function setNew(?bool $new): self
{
$this->new = $new;
return $this;
}
public function getKurkaAvailable(): ?bool
{
return $this->kurkaAvailable;
}
public function setKurkaAvailable(?bool $kurkaAvailable): self
{
$this->kurkaAvailable = $kurkaAvailable;
return $this;
}
public function getT7ShortDescription(): ?string
{
return $this->t7ShortDescription;
}
public function setT7ShortDescription(?string $t7ShortDescription): self
{
$this->t7ShortDescription = $t7ShortDescription;
return $this;
}
public function getT3Chart(): ?string
{
return $this->t3Chart;
}
public function setT3Chart(?string $t3Chart): self
{
$this->t3Chart = $t3Chart;
return $this;
}
public function getFilterQualityClass(): ?int
{
return $this->filterQualityClass;
}
public function setFilterQualityClass(?int $filterQualityClass): self
{
$this->filterQualityClass = $filterQualityClass;
return $this;
}
public function getFilterSoilRequirements(): ?int
{
return $this->filterSoilRequirements;
}
public function setFilterSoilRequirements(?int $filterSoilRequirements): self
{
$this->filterSoilRequirements = $filterSoilRequirements;
return $this;
}
public function getFilterFao(): ?int
{
return $this->filterFao;
}
public function setFilterFao(?int $filterFao): self
{
$this->filterFao = $filterFao;
return $this;
}
public function getFilterSuggestedUse(): ?int
{
return $this->filterSuggestedUse;
}
public function setFilterSuggestedUse(?int $filterSuggestedUse): self
{
$this->filterSuggestedUse = $filterSuggestedUse;
return $this;
}
public function getFilterBrand(): ?int
{
return $this->filterBrand;
}
public function setFilterBrand(?int $filterBrand): self
{
$this->filterBrand = $filterBrand;
return $this;
}
public function getFilterType(): ?int
{
return $this->filterType;
}
public function setFilterType(?int $filterType): self
{
$this->filterType = $filterType;
return $this;
}
public function getFilterType2(): ?int
{
return $this->filterType2;
}
public function setFilterType2(?int $filterType2): self
{
$this->filterType2 = $filterType2;
return $this;
}
public function getFilterType3(): ?int
{
return $this->filterType3;
}
public function setFilterType3(?int $filterType3): self
{
$this->filterType3 = $filterType3;
return $this;
}
public function getFilterFertilizerType(): ?string
{
return $this->filterFertilizerType;
}
public function setFilterFertilizerType(?string $filterFertilizerType): self
{
$this->filterFertilizerType = $filterFertilizerType;
return $this;
}
public function getPublic(): ?bool
{
return $this->public;
}
public function setPublic(?bool $public): self
{
$this->public = $public;
return $this;
}
public function getAuthor(): ?User
{
return $this->author;
}
public function setAuthor(?User $author): self
{
$this->author = $author;
return $this;
}
/**
* @return Collection|Category[]
*/
public function getCategory(): Collection
{
return $this->category;
}
public function addCategory(Category $category): self
{
if (!$this->category->contains($category)) {
$this->category[] = $category;
}
return $this;
}
public function removeCategory(Category $category): self
{
$this->category->removeElement($category);
return $this;
}
public function getSearchKeywords(): ?string
{
return $this->searchKeywords;
}
public function setSearchKeywords(?string $searchKeywords): self
{
$this->searchKeywords = $searchKeywords;
return $this;
}
/**
* @return Collection|FilterUse[]
*/
public function getFilterUse(): Collection
{
return $this->filterUse;
}
public function addFilterUse(FilterUse $filterUse): self
{
if (!$this->filterUse->contains($filterUse)) {
$this->filterUse[] = $filterUse;
}
return $this;
}
public function removeFilterUse(FilterUse $filterUse): self
{
$this->filterUse->removeElement($filterUse);
return $this;
}
/**
* @return Collection|self[]
*/
public function getRelated(): Collection
{
return $this->related;
}
public function addRelated(self $related): self
{
if (!$this->related->contains($related)) {
$this->related[] = $related;
}
return $this;
}
public function removeRelated(self $related): self
{
$this->related->removeElement($related);
return $this;
}
public function getPackshot(): ?MediaObject
{
return $this->packshot;
}
public function setPackshot(?MediaObject $packshot): self
{
$this->packshot = $packshot;
return $this;
}
public function getType(): ?ProductType
{
return $this->type;
}
public function setType(?ProductType $type): void
{
$this->type = $type;
}
public function getShowDescription(): ?bool
{
return $this->showDescription;
}
public function setShowDescription(bool $showDescription): self
{
$this->showDescription = $showDescription;
return $this;
}
public function getLink(): ?string
{
return $this->link;
}
public function setLink(?string $link): self
{
$this->link = $link;
return $this;
}
}