src/Entity/Product.php line 46

Open in your IDE?
  1. <?php
  2. namespace App\Entity;
  3. use Doctrine\Common\Collections\ArrayCollection;
  4. use Doctrine\Common\Collections\Collection;
  5. use Doctrine\ORM\Mapping as ORM;
  6. use ApiPlatform\Metadata\ApiFilter;
  7. use ApiPlatform\Metadata\ApiProperty;
  8. use ApiPlatform\Metadata\ApiResource;
  9. use ApiPlatform\Doctrine\Orm\Filter\DateFilter;
  10. use ApiPlatform\Doctrine\Orm\Filter\OrderFilter;
  11. use ApiPlatform\Doctrine\Orm\Filter\SearchFilter;
  12. use ApiPlatform\Doctrine\Orm\Filter\BooleanFilter;
  13. use Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity;
  14. use Gedmo\Mapping\Annotation as Gedmo;
  15. use ApiPlatform\Core\Serializer\Filter\PropertyFilter;
  16. use Symfony\Component\Serializer\Annotation\Groups;
  17. use ApiPlatform\Metadata\Put;
  18. use ApiPlatform\Metadata\Post;
  19. use ApiPlatform\Metadata\Get;
  20. use ApiPlatform\Metadata\GetCollection;
  21. use ApiPlatform\Metadata\Patch;
  22. use ApiPlatform\Metadata\Delete;
  23. #[ApiFilter(OrderFilter::class)]
  24. #[ApiFilter(DateFilter::class, properties: ["createdAt"])]
  25. #[ApiFilter(SearchFilter::class)]
  26. #[ApiFilter(SearchFilter::class, properties: ["name" => "partial""category.slug" => "partial"])]
  27. #[ApiFilter(BooleanFilter::class, properties: ["public" => "exact""promoted" => "exact""kurkaAvailable" => "exact"])]
  28. #[ORM\Table(name'product')]
  29. #[ORM\Entity]
  30. #[UniqueEntity('slug')]
  31. #[ApiResource(
  32.     operations: [
  33.         new Get(),
  34.         new GetCollection(),
  35.         new Put(security"is_granted('ROLE_USER')",),
  36.         new Post(security"is_granted('ROLE_USER')",),
  37.         new Patch(security"is_granted('ROLE_USER')",),
  38.         new Delete(security"is_granted('ROLE_USER')",),
  39.     ],
  40.     normalizationContext: ['groups' => ['product:read']],
  41.     denormalizationContext: ['groups' => ['product:write']],
  42. )]
  43. class Product implements DateCmsInterfaceAuthorCmsInterface
  44. {
  45.     /**
  46.      * @var string
  47.      *
  48.      */
  49.     #[ApiProperty(identifierfalse)]
  50.     #[ORM\Column(name'id'type\Doctrine\DBAL\Types\Types::BIGINT)]
  51.     #[ORM\Id]
  52.     #[ORM\GeneratedValue(strategy'IDENTITY')]
  53.     #[Groups(['product:read''product:write'])]
  54.     private ?string $id null;
  55.     /**
  56.      * @var ProductType|null
  57.      */
  58.     #[ORM\ManyToOne(targetEntityProductType::class)]
  59.     #[ORM\JoinColumn]
  60.     #[Groups(['product:read''product:write'])]
  61.     private ?\App\Entity\ProductType $type null;
  62.     /**
  63.      * @var string|null
  64.      */
  65.     #[Groups(['product:read'])]
  66.     public $typeName;
  67.     /**
  68.      * @var string
  69.      */
  70.     #[ORM\Column(name'name'type\Doctrine\DBAL\Types\Types::STRINGlength255)]
  71.     #[Groups(['product:read''product:write'])]
  72.     private ?string $name null;
  73.     /**
  74.      * @var string|null
  75.      */
  76.     #[ORM\Column(name'descr'type\Doctrine\DBAL\Types\Types::TEXTlength0nullabletrue)]
  77.     #[Groups(['product:read''product:write'])]
  78.     private ?string $descr null;
  79.     /**
  80.      * @var string|null
  81.      */
  82.     #[ORM\Column(name'short'type\Doctrine\DBAL\Types\Types::TEXTlength0nullabletrue)]
  83.     #[Groups(['product:read''product:write'])]
  84.     private ?string $short null;
  85.     /**
  86.      * @var string|null
  87.      */
  88.     #[ORM\Column(name'youtube'type\Doctrine\DBAL\Types\Types::STRINGlength255nullabletrue)]
  89.     #[Groups(['product:read''product:write'])]
  90.     private ?string $youtube null;
  91.     /**
  92.      * @var string|null
  93.      */
  94.     #[ORM\Column(name'search_keywords'type\Doctrine\DBAL\Types\Types::TEXTlength0nullabletrue)]
  95.     #[Groups(['product:read''product:write'])]
  96.     private ?string $searchKeywords null;
  97.     /**
  98.      * @var bool|null
  99.      */
  100.     #[ORM\Column(name'public'type\Doctrine\DBAL\Types\Types::BOOLEANnullabletrueoptions: ['default' => 1])]
  101.     #[Groups(['product:read''product:write'])]
  102.     private ?bool $public true;
  103.     /**
  104.      * @var string|null
  105.      */
  106.     #[ORM\Column(name'title'type\Doctrine\DBAL\Types\Types::STRINGlength255nullabletrue)]
  107.     #[Groups(['product:read''product:write'])]
  108.     private ?string $title null;
  109.     /**
  110.      * @var string|null
  111.      */
  112.     #[ORM\Column(name'description'type\Doctrine\DBAL\Types\Types::STRINGlength255nullabletrue)]
  113.     #[Groups(['product:read''product:write'])]
  114.     private ?string $description null;
  115.     /**
  116.      * @var \DateTimeInterface
  117.      */
  118.     #[ORM\Column(name'created_at'type\Doctrine\DBAL\Types\Types::DATETIME_MUTABLE)]
  119.     private ?\DateTimeInterface $createdAt null;
  120.     /**
  121.      * @var \DateTimeInterface
  122.      */
  123.     #[ORM\Column(name'updated_at'type\Doctrine\DBAL\Types\Types::DATETIME_MUTABLE)]
  124.     private ?\DateTimeInterface $updatedAt null;
  125.     #[Gedmo\Slug(fields: ["name"])]
  126.     #[ApiProperty(identifiertrue)]
  127.     #[ORM\Column(type\Doctrine\DBAL\Types\Types::STRINGnullabletruelength80uniquetrue)]
  128.     #[Groups(['product:read''product:write'])]
  129.     private ?string $slug null;
  130.     /**
  131.      * @var bool|null
  132.      */
  133.     #[ORM\Column(name'promoted'type\Doctrine\DBAL\Types\Types::BOOLEANnullabletrue)]
  134.     #[Groups(['product:read''product:write'])]
  135.     private ?bool $promoted false;
  136.     /**
  137.      * @var string|null
  138.      */
  139.     #[ORM\Column(name't1_variety_name'type\Doctrine\DBAL\Types\Types::STRINGlength255nullabletrue)]
  140.     #[Groups(['product:read''product:write'])]
  141.     private ?string $t1VarietyName null;
  142.     /**
  143.      * @var string|null
  144.      */
  145.     #[ORM\Column(name't1_farmer'type\Doctrine\DBAL\Types\Types::STRINGlength255nullabletrue)]
  146.     #[Groups(['product:read''product:write'])]
  147.     private ?string $t1Farmer null;
  148.     /**
  149.      * @var string|null
  150.      */
  151.     #[ORM\Column(name't1_variety_type'type\Doctrine\DBAL\Types\Types::STRINGlength255nullabletrue)]
  152.     #[Groups(['product:read''product:write'])]
  153.     private ?string $t1VarietyType null;
  154.     /**
  155.      * @var string|null
  156.      */
  157.     #[ORM\Column(name't1_registry_country'type\Doctrine\DBAL\Types\Types::STRINGlength50nullabletrue)]
  158.     #[Groups(['product:read''product:write'])]
  159.     private ?string $t1RegistryCountry null;
  160.     /**
  161.      * @var string|null
  162.      */
  163.     #[ORM\Column(name't1_short_description'type\Doctrine\DBAL\Types\Types::TEXTlength0nullabletrue)]
  164.     #[Groups(['product:read''product:write'])]
  165.     private ?string $t1ShortDescription null;
  166.     /**
  167.      * @var string|null
  168.      */
  169.     #[ORM\Column(name't1_usable_value'type\Doctrine\DBAL\Types\Types::TEXTlength0nullabletrue)]
  170.     #[Groups(['product:read''product:write'])]
  171.     private ?string $t1UsableValue null;
  172.     /**
  173.      * @var string|null
  174.      */
  175.     #[ORM\Column(name't1_agronomy_profile'type\Doctrine\DBAL\Types\Types::TEXTlength0nullabletrue)]
  176.     #[Groups(['product:read''product:write'])]
  177.     private ?string $t1AgronomyProfile null;
  178.     /**
  179.      * @var string|null
  180.      */
  181.     #[ORM\Column(name't1_cobor_link'type\Doctrine\DBAL\Types\Types::STRINGlength255nullabletrue)]
  182.     #[Groups(['product:read''product:write'])]
  183.     private ?string $t1CoborLink null;
  184.     /**
  185.      * @var string|null
  186.      */
  187.     #[ORM\Column(name't2_variety_name'type\Doctrine\DBAL\Types\Types::STRINGlength255nullabletrue)]
  188.     #[Groups(['product:read''product:write'])]
  189.     private ?string $t2VarietyName null;
  190.     /**
  191.      * @var string|null
  192.      */
  193.     #[ORM\Column(name't2_fao'type\Doctrine\DBAL\Types\Types::TEXTlength0nullabletrue)]
  194.     #[Groups(['product:read''product:write'])]
  195.     private ?string $t2Fao null;
  196.     /**
  197.      * @var string|null
  198.      */
  199.     #[ORM\Column(name't2_farmer'type\Doctrine\DBAL\Types\Types::STRINGlength255nullabletrue)]
  200.     #[Groups(['product:read''product:write'])]
  201.     private ?string $t2Farmer null;
  202.     /**
  203.      * @var string|null
  204.      */
  205.     #[ORM\Column(name't2_registry_country'type\Doctrine\DBAL\Types\Types::STRINGlength50nullabletrue)]
  206.     #[Groups(['product:read''product:write'])]
  207.     private ?string $t2RegistryCountry null;
  208.     /**
  209.      * @var string|null
  210.      */
  211.     #[ORM\Column(name't2_variety_type'type\Doctrine\DBAL\Types\Types::STRINGlength255nullabletrue)]
  212.     #[Groups(['product:read''product:write'])]
  213.     private ?string $t2VarietyType null;
  214.     /**
  215.      * @var string|null
  216.      */
  217.     #[ORM\Column(name't2_short_description'type\Doctrine\DBAL\Types\Types::TEXTlength0nullabletrue)]
  218.     #[Groups(['product:read''product:write'])]
  219.     private ?string $t2ShortDescription null;
  220.     /**
  221.      * @var string|null
  222.      */
  223.     #[ORM\Column(name't2_flask_image'type\Doctrine\DBAL\Types\Types::BIGINTnullabletrue)]
  224.     #[Groups(['product:read''product:write'])]
  225.     private ?string $t2FlaskImage null;
  226.     /**
  227.      * @var string|null
  228.      */
  229.     #[ORM\Column(name't2_flask_section'type\Doctrine\DBAL\Types\Types::BIGINTnullabletrue)]
  230.     #[Groups(['product:read''product:write'])]
  231.     private ?string $t2FlaskSection null;
  232.     /**
  233.      * @var string|null
  234.      */
  235.     #[ORM\Column(name't2_grain_section'type\Doctrine\DBAL\Types\Types::BIGINTnullabletrue)]
  236.     #[Groups(['product:read''product:write'])]
  237.     private ?string $t2GrainSection null;
  238.     /**
  239.      * @var string|null
  240.      */
  241.     #[ORM\Column(name't2_suggested_use'type\Doctrine\DBAL\Types\Types::TEXTlength0nullabletrue)]
  242.     #[Groups(['product:read''product:write'])]
  243.     private ?string $t2SuggestedUse null;
  244.     /**
  245.      * @var string|null
  246.      */
  247.     #[ORM\Column(name't2_recommendations'type\Doctrine\DBAL\Types\Types::TEXTlength0nullabletrue)]
  248.     #[Groups(['product:read''product:write'])]
  249.     private ?string $t2Recommendations null;
  250.     /**
  251.      * @var string|null
  252.      */
  253.     #[ORM\Column(name't2_description'type\Doctrine\DBAL\Types\Types::TEXTlength0nullabletrue)]
  254.     #[Groups(['product:read''product:write'])]
  255.     private ?string $t2Description null;
  256.     /**
  257.      * @var string|null
  258.      */
  259.     #[ORM\Column(name't2_cobor_link'type\Doctrine\DBAL\Types\Types::STRINGlength255nullabletrue)]
  260.     #[Groups(['product:read''product:write'])]
  261.     private ?string $t2CoborLink null;
  262.     /**
  263.      * @var string|null
  264.      */
  265.     #[ORM\Column(name't2_farmer_recommendation'type\Doctrine\DBAL\Types\Types::TEXTlength0nullabletrue)]
  266.     #[Groups(['product:read''product:write'])]
  267.     private ?string $t2FarmerRecommendation null;
  268.     /**
  269.      * @var string|null
  270.      */
  271.     #[ORM\Column(name't2_cobor'type\Doctrine\DBAL\Types\Types::TEXTlength0nullabletrue)]
  272.     #[Groups(['product:read''product:write'])]
  273.     private ?string $t2Cobor null;
  274.     /**
  275.      * @var string|null
  276.      */
  277.     #[ORM\Column(name't2_chart'type\Doctrine\DBAL\Types\Types::TEXTlength0nullabletrue)]
  278.     #[Groups(['product:read''product:write'])]
  279.     private ?string $t2Chart null;
  280.     /**
  281.      * @var string|null
  282.      */
  283.     #[ORM\Column(name't2_soil_requirements'type\Doctrine\DBAL\Types\Types::TEXTlength0nullabletrue)]
  284.     #[Groups(['product:read''product:write'])]
  285.     private ?string $t2SoilRequirements null;
  286.     /**
  287.      * @var string|null
  288.      */
  289.     #[ORM\Column(name't3_type'type\Doctrine\DBAL\Types\Types::STRINGlength255nullabletrue)]
  290.     #[Groups(['product:read''product:write'])]
  291.     private ?string $t3Type null;
  292.     /**
  293.      * @var string|null
  294.      */
  295.     #[ORM\Column(name't3_variety_name'type\Doctrine\DBAL\Types\Types::STRINGlength255nullabletrue)]
  296.     #[Groups(['product:read''product:write'])]
  297.     private ?string $t3VarietyName null;
  298.     /**
  299.      * @var string|null
  300.      */
  301.     #[ORM\Column(name't3_quality_class'type\Doctrine\DBAL\Types\Types::BIGINTnullabletrue)]
  302.     #[Groups(['product:read''product:write'])]
  303.     private ?string $t3QualityClass null;
  304.     /**
  305.      * @var string|null
  306.      */
  307.     #[ORM\Column(name't3_short_description'type\Doctrine\DBAL\Types\Types::TEXTlength0nullabletrue)]
  308.     #[Groups(['product:read''product:write'])]
  309.     private ?string $t3ShortDescription null;
  310.     /**
  311.      * @var string|null
  312.      */
  313.     #[ORM\Column(name't3_registry_country'type\Doctrine\DBAL\Types\Types::STRINGlength50nullabletrue)]
  314.     #[Groups(['product:read''product:write'])]
  315.     private ?string $t3RegistryCountry null;
  316.     /**
  317.      * @var string|null
  318.      */
  319.     #[ORM\Column(name't3_description'type\Doctrine\DBAL\Types\Types::TEXTlength0nullabletrue)]
  320.     #[Groups(['product:read''product:write'])]
  321.     private ?string $t3Description null;
  322.     /**
  323.      * @var string|null
  324.      */
  325.     #[ORM\Column(name't3_description2'type\Doctrine\DBAL\Types\Types::TEXTlength0nullabletrue)]
  326.     #[Groups(['product:read''product:write'])]
  327.     private ?string $t3Description2 null;
  328.     /**
  329.      * @var string|null
  330.      */
  331.     #[ORM\Column(name't3_description3'type\Doctrine\DBAL\Types\Types::TEXTlength0nullabletrue)]
  332.     #[Groups(['product:read''product:write'])]
  333.     private ?string $t3Description3 null;
  334.     /**
  335.      * @var string|null
  336.      */
  337.     #[ORM\Column(name't3_cobor_link'type\Doctrine\DBAL\Types\Types::STRINGlength255nullabletrue)]
  338.     #[Groups(['product:read''product:write'])]
  339.     private ?string $t3CoborLink null;
  340.     /**
  341.      * @var string|null
  342.      */
  343.     #[ORM\Column(name't4_product_name'type\Doctrine\DBAL\Types\Types::STRINGlength255nullabletrue)]
  344.     #[Groups(['product:read''product:write'])]
  345.     private ?string $t4ProductName null;
  346.     /**
  347.      * @var string|null
  348.      */
  349.     #[ORM\Column(name't4_product_type'type\Doctrine\DBAL\Types\Types::STRINGlength255nullabletrue)]
  350.     #[Groups(['product:read''product:write'])]
  351.     private ?string $t4ProductType null;
  352.     /**
  353.      * @var string|null
  354.      */
  355.     #[ORM\Column(name't4_formulation'type\Doctrine\DBAL\Types\Types::STRINGlength255nullabletrue)]
  356.     #[Groups(['product:read''product:write'])]
  357.     private ?string $t4Formulation null;
  358.     /**
  359.      * @var string|null
  360.      */
  361.     #[ORM\Column(name't4_permit_number'type\Doctrine\DBAL\Types\Types::STRINGlength255nullabletrue)]
  362.     #[Groups(['product:read''product:write'])]
  363.     private ?string $t4PermitNumber null;
  364.     /**
  365.      * @var string|null
  366.      */
  367.     #[ORM\Column(name't4_info_image'type\Doctrine\DBAL\Types\Types::BIGINTnullabletrue)]
  368.     #[Groups(['product:read''product:write'])]
  369.     private ?string $t4InfoImage null;
  370.     /**
  371.      * @var string|null
  372.      */
  373.     #[ORM\Column(name't4_application'type\Doctrine\DBAL\Types\Types::TEXTlength0nullabletrue)]
  374.     #[Groups(['product:read''product:write'])]
  375.     private ?string $t4Application null;
  376.     /**
  377.      * @var string|null
  378.      */
  379.     #[ORM\Column(name't4_action_description'type\Doctrine\DBAL\Types\Types::TEXTlength0nullabletrue)]
  380.     #[Groups(['product:read''product:write'])]
  381.     private ?string $t4ActionDescription null;
  382.     /**
  383.      * @var string|null
  384.      */
  385.     #[ORM\Column(name't4_recommended_dose'type\Doctrine\DBAL\Types\Types::TEXTlength0nullabletrue)]
  386.     #[Groups(['product:read''product:write'])]
  387.     private ?string $t4RecommendedDose null;
  388.     /**
  389.      * @var string|null
  390.      */
  391.     #[ORM\Column(name't4_date_of_application'type\Doctrine\DBAL\Types\Types::TEXTlength0nullabletrue)]
  392.     #[Groups(['product:read''product:write'])]
  393.     private ?string $t4DateOfApplication null;
  394.     /**
  395.      * @var string|null
  396.      */
  397.     #[ORM\Column(name't4_recommended_treatment'type\Doctrine\DBAL\Types\Types::TEXTlength0nullabletrue)]
  398.     #[Groups(['product:read''product:write'])]
  399.     private ?string $t4RecommendedTreatment null;
  400.     /**
  401.      * @var string|null
  402.      */
  403.     #[ORM\Column(name't4_treatment_number'type\Doctrine\DBAL\Types\Types::STRINGlength255nullabletrue)]
  404.     #[Groups(['product:read''product:write'])]
  405.     private ?string $t4TreatmentNumber null;
  406.     /**
  407.      * @var string|null
  408.      */
  409.     #[ORM\Column(name't4_active_ingredient'type\Doctrine\DBAL\Types\Types::STRINGlength255nullabletrue)]
  410.     #[Groups(['product:read''product:write'])]
  411.     private ?string $t4ActiveIngredient null;
  412.     /**
  413.      * @var string|null
  414.      */
  415.     #[ORM\Column(name't4_available_package'type\Doctrine\DBAL\Types\Types::TEXTlength0nullabletrue)]
  416.     #[Groups(['product:read''product:write'])]
  417.     private ?string $t4AvailablePackage null;
  418.     /**
  419.      * @var string|null
  420.      */
  421.     #[ORM\Column(name't4_kind_of_threat'type\Doctrine\DBAL\Types\Types::TEXTlength0nullabletrue)]
  422.     #[Groups(['product:read''product:write'])]
  423.     private ?string $t4KindOfThreat null;
  424.     /**
  425.      * @var string|null
  426.      */
  427.     #[ORM\Column(name't4_safe_use'type\Doctrine\DBAL\Types\Types::TEXTlength0nullabletrue)]
  428.     #[Groups(['product:read''product:write'])]
  429.     private ?string $t4SafeUse null;
  430.     /**
  431.      * @var string|null
  432.      */
  433.     #[ORM\Column(name't4_safe_use_pikto'type\Doctrine\DBAL\Types\Types::TEXTlength0nullabletrue)]
  434.     #[Groups(['product:read''product:write'])]
  435.     private ?string $t4SafeUsePikto null;
  436.     /**
  437.      * @var string|null
  438.      */
  439.     #[ORM\Column(name't4_technology'type\Doctrine\DBAL\Types\Types::TEXTlength0nullabletrue)]
  440.     #[Groups(['product:read''product:write'])]
  441.     private ?string $t4Technology null;
  442.     /**
  443.      * @var string|null
  444.      */
  445.     #[ORM\Column(name't4_link'type\Doctrine\DBAL\Types\Types::STRINGlength255nullabletrue)]
  446.     #[Groups(['product:read''product:write'])]
  447.     private ?string $t4Link null;
  448.     /**
  449.      * @var string|null
  450.      */
  451.     #[ORM\Column(name't4_advertisment'type\Doctrine\DBAL\Types\Types::STRINGlength255nullabletrue)]
  452.     #[Groups(['product:read''product:write'])]
  453.     private ?string $t4Advertisment null;
  454.     /**
  455.      * @var string|null
  456.      */
  457.     #[ORM\Column(name't4_legal_info'type\Doctrine\DBAL\Types\Types::TEXTlength0nullabletrue)]
  458.     #[Groups(['product:read''product:write'])]
  459.     private ?string $t4LegalInfo null;
  460.     /**
  461.      * @var string|null
  462.      */
  463.     #[ORM\Column(name't4_prize'type\Doctrine\DBAL\Types\Types::TEXTlength0nullabletrue)]
  464.     #[Groups(['product:read''product:write'])]
  465.     private ?string $t4Prize null;
  466.     /**
  467.      * @var string|null
  468.      */
  469.     #[ORM\Column(name't5_trade_name'type\Doctrine\DBAL\Types\Types::STRINGlength255nullabletrue)]
  470.     #[Groups(['product:read''product:write'])]
  471.     private ?string $t5TradeName null;
  472.     /**
  473.      * @var string|null
  474.      */
  475.     #[ORM\Column(name't5_chemical_name'type\Doctrine\DBAL\Types\Types::STRINGlength255nullabletrue)]
  476.     #[Groups(['product:read''product:write'])]
  477.     private ?string $t5ChemicalName null;
  478.     /**
  479.      * @var string|null
  480.      */
  481.     #[ORM\Column(name't5_formula'type\Doctrine\DBAL\Types\Types::TEXTlength0nullabletrue)]
  482.     #[Groups(['product:read''product:write'])]
  483.     private ?string $t5Formula null;
  484.     /**
  485.      * @var string|null
  486.      */
  487.     #[ORM\Column(name't5_ingredients'type\Doctrine\DBAL\Types\Types::TEXTlength0nullabletrue)]
  488.     #[Groups(['product:read''product:write'])]
  489.     private ?string $t5Ingredients null;
  490.     /**
  491.      * @var string|null
  492.      */
  493.     #[ORM\Column(name't5_pkwiu_number'type\Doctrine\DBAL\Types\Types::STRINGlength255nullabletrue)]
  494.     #[Groups(['product:read''product:write'])]
  495.     private ?string $t5PkwiuNumber null;
  496.     /**
  497.      * @var string|null
  498.      */
  499.     #[ORM\Column(name't5_cn_number'type\Doctrine\DBAL\Types\Types::STRINGlength255nullabletrue)]
  500.     #[Groups(['product:read''product:write'])]
  501.     private ?string $t5CnNumber null;
  502.     /**
  503.      * @var string|null
  504.      */
  505.     #[ORM\Column(name't5_description'type\Doctrine\DBAL\Types\Types::TEXTlength0nullabletrue)]
  506.     #[Groups(['product:read''product:write'])]
  507.     private ?string $t5Description null;
  508.     /**
  509.      * @var string|null
  510.      */
  511.     #[ORM\Column(name't5_image'type\Doctrine\DBAL\Types\Types::BIGINTnullabletrue)]
  512.     #[Groups(['product:read''product:write'])]
  513.     private ?string $t5Image null;
  514.     /**
  515.      * @var string|null
  516.      */
  517.     #[ORM\Column(name't6_name'type\Doctrine\DBAL\Types\Types::STRINGlength255nullabletrue)]
  518.     #[Groups(['product:read''product:write'])]
  519.     private ?string $t6Name null;
  520.     /**
  521.      * @var string|null
  522.      */
  523.     #[ORM\Column(name't6_type'type\Doctrine\DBAL\Types\Types::STRINGlength255nullabletrue)]
  524.     #[Groups(['product:read''product:write'])]
  525.     private ?string $t6Type null;
  526.     /**
  527.      * @var string|null
  528.      */
  529.     #[ORM\Column(name't6_short_description'type\Doctrine\DBAL\Types\Types::TEXTlength0nullabletrue)]
  530.     #[Groups(['product:read''product:write'])]
  531.     private ?string $t6ShortDescription null;
  532.     /**
  533.      * @var string|null
  534.      */
  535.     #[ORM\Column(name't6_short_description2'type\Doctrine\DBAL\Types\Types::TEXTlength0nullabletrue)]
  536.     #[Groups(['product:read''product:write'])]
  537.     private ?string $t6ShortDescription2 null;
  538.     /**
  539.      * @var string|null
  540.      */
  541.     #[ORM\Column(name't6_description'type\Doctrine\DBAL\Types\Types::TEXTlength0nullabletrue)]
  542.     #[Groups(['product:read''product:write'])]
  543.     private ?string $t6Description null;
  544.     /**
  545.      * @var string|null
  546.      */
  547.     #[ORM\Column(name't6_condition'type\Doctrine\DBAL\Types\Types::BIGINTnullabletrue)]
  548.     #[Groups(['product:read''product:write'])]
  549.     private ?string $t6Condition null;
  550.     /**
  551.      * @var string|null
  552.      */
  553.     #[ORM\Column(name't7_product_name'type\Doctrine\DBAL\Types\Types::STRINGlength255nullabletrue)]
  554.     #[Groups(['product:read''product:write'])]
  555.     private ?string $t7ProductName null;
  556.     /**
  557.      * @var string|null
  558.      */
  559.     #[ORM\Column(name't7_product_type'type\Doctrine\DBAL\Types\Types::STRINGlength255nullabletrue)]
  560.     #[Groups(['product:read''product:write'])]
  561.     private ?string $t7ProductType null;
  562.     /**
  563.      * @var string|null
  564.      */
  565.     #[ORM\Column(name't7_safe_use'type\Doctrine\DBAL\Types\Types::TEXTlength0nullabletrue)]
  566.     #[Groups(['product:read''product:write'])]
  567.     private ?string $t7SafeUse null;
  568.     /**
  569.      * @var string|null
  570.      */
  571.     #[ORM\Column(name't1_recommendations'type\Doctrine\DBAL\Types\Types::TEXTlength0nullabletrue)]
  572.     #[Groups(['product:read''product:write'])]
  573.     private ?string $t1Recommendations null;
  574.     /**
  575.      * @var string|null
  576.      */
  577.     #[ORM\Column(name't4_product_features'type\Doctrine\DBAL\Types\Types::TEXTlength0nullabletrue)]
  578.     #[Groups(['product:read''product:write'])]
  579.     private ?string $t4ProductFeatures null;
  580.     /**
  581.      * @var string|null
  582.      */
  583.     #[ORM\Column(name't4_combated_pests'type\Doctrine\DBAL\Types\Types::TEXTlength0nullabletrue)]
  584.     #[Groups(['product:read''product:write'])]
  585.     private ?string $t4CombatedPests null;
  586.     /**
  587.      * @var string|null
  588.      */
  589.     #[ORM\Column(name'producer_name'type\Doctrine\DBAL\Types\Types::STRINGlength255nullabletrue)]
  590.     #[Groups(['product:read''product:write'])]
  591.     private ?string $producerName null;
  592.     /**
  593.      * @var MediaObject|null
  594.      *
  595.      */
  596.     #[ApiProperty(types: ["https://schema.org/image"])]
  597.     #[ORM\ManyToOne(targetEntityMediaObject::class)]
  598.     #[ORM\JoinColumn]
  599.     #[Groups(['product:read''product:write'])]
  600.     private ?\App\Entity\MediaObject $producerImage null;
  601.     /**
  602.      * @var string|null
  603.      */
  604.     #[ORM\Column(name'download'type\Doctrine\DBAL\Types\Types::TEXTlength0nullabletrue)]
  605.     #[Groups(['product:read''product:write'])]
  606.     private ?string $download null;
  607.     /**
  608.      * @var bool|null
  609.      */
  610.     #[ORM\Column(name'new'type\Doctrine\DBAL\Types\Types::BOOLEANnullabletrueoptions: ['default' => 1])]
  611.     #[Groups(['product:read''product:write'])]
  612.     private ?bool $new true;
  613.     /**
  614.      * @var bool|null
  615.      */
  616.     #[ORM\Column(name'kurka_available'type\Doctrine\DBAL\Types\Types::BOOLEANnullabletrueoptions: ['default' => 1])]
  617.     #[Groups(['product:read''product:write'])]
  618.     private ?bool $kurkaAvailable true;
  619.     /**
  620.      * @var string|null
  621.      */
  622.     #[ORM\Column(name't7_short_description'type\Doctrine\DBAL\Types\Types::TEXTlength0nullabletrue)]
  623.     #[Groups(['product:read''product:write'])]
  624.     private ?string $t7ShortDescription null;
  625.     /**
  626.      * @var string|null
  627.      */
  628.     #[ORM\Column(name't3_chart'type\Doctrine\DBAL\Types\Types::TEXTlength0nullabletrue)]
  629.     #[Groups(['product:read''product:write'])]
  630.     private ?string $t3Chart null;
  631.     /**
  632.      * @var int|null
  633.      */
  634.     #[ORM\Column(name'filter_quality_class'type\Doctrine\DBAL\Types\Types::INTEGERnullabletrue)]
  635.     #[Groups(['product:read''product:write'])]
  636.     private ?int $filterQualityClass null;
  637.     /**
  638.      * @var int|null
  639.      */
  640.     #[ORM\Column(name'filter_soil_requirements'type\Doctrine\DBAL\Types\Types::INTEGERnullabletrue)]
  641.     #[Groups(['product:read''product:write'])]
  642.     private ?int $filterSoilRequirements null;
  643.     /**
  644.      * @var int|null
  645.      */
  646.     #[ORM\Column(name'filter_fao'type\Doctrine\DBAL\Types\Types::INTEGERnullabletrue)]
  647.     #[Groups(['product:read''product:write'])]
  648.     private ?int $filterFao null;
  649.     /**
  650.      * @var int|null
  651.      */
  652.     #[ORM\Column(name'filter_suggested_use'type\Doctrine\DBAL\Types\Types::INTEGERnullabletrue)]
  653.     #[Groups(['product:read''product:write'])]
  654.     private ?int $filterSuggestedUse null;
  655.     /**
  656.      * @var int|null
  657.      */
  658.     #[ORM\Column(name'filter_brand'type\Doctrine\DBAL\Types\Types::INTEGERnullabletrue)]
  659.     #[Groups(['product:read''product:write'])]
  660.     private ?int $filterBrand null;
  661.     /**
  662.      * @var int|null
  663.      */
  664.     #[ORM\Column(name'filter_type'type\Doctrine\DBAL\Types\Types::INTEGERnullabletrue)]
  665.     #[Groups(['product:read''product:write'])]
  666.     private ?int $filterType null;
  667.     /**
  668.      * @var int|null
  669.      */
  670.     #[ORM\Column(name'filter_type2'type\Doctrine\DBAL\Types\Types::INTEGERnullabletrue)]
  671.     #[Groups(['product:read''product:write'])]
  672.     private ?int $filterType2 null;
  673.     /**
  674.      * @var int|null
  675.      */
  676.     #[ORM\Column(name'filter_type3'type\Doctrine\DBAL\Types\Types::INTEGERnullabletrue)]
  677.     #[Groups(['product:read''product:write'])]
  678.     private ?int $filterType3 null;
  679.     /**
  680.      * @var string|null
  681.      */
  682.     #[ORM\Column(name'filter_fertilizer_type'type\Doctrine\DBAL\Types\Types::STRINGlength255nullabletrue)]
  683.     #[Groups(['product:read''product:write'])]
  684.     private ?string $filterFertilizerType null;
  685.     /**
  686.      * @var MediaObject|null
  687.      *
  688.      */
  689.     #[ApiProperty(types: ["https://schema.org/image"])]
  690.     #[ORM\ManyToOne(targetEntityMediaObject::class)]
  691.     #[ORM\JoinColumn]
  692.     #[Groups(['product:read''product:write'])]
  693.     private ?\App\Entity\MediaObject $packshot null;
  694.     #[ORM\ManyToOne(targetEntityUser::class)]
  695.     #[Groups(['product:read''product:write'])]
  696.     private ?\App\Entity\User $author null;
  697.     /**
  698.      * @var \Doctrine\Common\Collections\Collection<\App\Entity\Category>
  699.      */
  700.     #[ApiFilter(SearchFilter::class)]
  701.     #[ORM\ManyToMany(targetEntityCategory::class, inversedBy'products')]
  702.     #[Groups(['product:read''product:write'])]
  703.     private \Doctrine\Common\Collections\Collection $category;
  704.     /**
  705.      * @var \Doctrine\Common\Collections\Collection<\App\Entity\FilterUse>
  706.      */
  707.     #[ApiProperty(readableLink:truewritableLink:true)]
  708.     #[ApiFilter(SearchFilter::class, properties: ["filterUse.name" => "exact"])]
  709.     #[ORM\ManyToMany(targetEntityFilterUse::class)]
  710.     #[Groups(['product:read''product:write'])]
  711.     private \Doctrine\Common\Collections\Collection $filterUse;
  712.     /**
  713.      * @var \Doctrine\Common\Collections\Collection<\App\Entity\Product>
  714.      */
  715.     #[ApiProperty(readableLink:falsewritableLink:false)]
  716.     #[ORM\ManyToMany(targetEntityProduct::class)]
  717.     #[Groups(['product:read''product:write'])]
  718.     private \Doctrine\Common\Collections\Collection $related;
  719.     /**
  720.      * @var string|null
  721.      *
  722.      */
  723.     #[ApiProperty(types: ["https://schema.org/contentUrl"])]
  724.     #[Groups(['media_object_read''product:read''product:write'])]
  725.     public $packshotUrl;
  726.     /**
  727.      * @var string|null
  728.      *
  729.      */
  730.     #[ApiProperty(types: ["https://schema.org/contentUrl"])]
  731.     #[Groups(['media_object_read''product:read''product:write'])]
  732.     public $producerImageUrl;
  733.     #[ORM\Column(type\Doctrine\DBAL\Types\Types::BOOLEAN)]
  734.     #[Groups(['product:read''product:write'])]
  735.     private ?bool $showDescription false;
  736.     #[ORM\Column(type\Doctrine\DBAL\Types\Types::STRINGlength255nullabletrue)]
  737.     #[Groups(['product:read''product:write'])]
  738.     private ?string $link null;
  739.     public function __construct()
  740.     {
  741.         $this->category = new ArrayCollection();
  742.         $this->filterUse = new ArrayCollection();
  743.         $this->related = new ArrayCollection();
  744.     }
  745.     public function getId(): ?string
  746.     {
  747.         return $this->id;
  748.     }
  749.     public function getName(): ?string
  750.     {
  751.         return $this->name;
  752.     }
  753.     public function setName(string $name): self
  754.     {
  755.         $this->name $name;
  756.         return $this;
  757.     }
  758.     public function getDescr(): ?string
  759.     {
  760.         return $this->descr;
  761.     }
  762.     public function setDescr(?string $descr): self
  763.     {
  764.         $this->descr $descr;
  765.         return $this;
  766.     }
  767.     public function getShort(): ?string
  768.     {
  769.         return $this->short;
  770.     }
  771.     public function setShort(?string $short): self
  772.     {
  773.         $this->short $short;
  774.         return $this;
  775.     }
  776.     public function getYoutube(): ?string
  777.     {
  778.         return $this->youtube;
  779.     }
  780.     public function setYoutube(?string $youtube): self
  781.     {
  782.         $this->youtube $youtube;
  783.         return $this;
  784.     }
  785.     public function getTitle(): ?string
  786.     {
  787.         return $this->title;
  788.     }
  789.     public function setTitle(?string $title): self
  790.     {
  791.         $this->title $title;
  792.         return $this;
  793.     }
  794.     public function getDescription(): ?string
  795.     {
  796.         return $this->description;
  797.     }
  798.     public function setDescription(?string $description): self
  799.     {
  800.         $this->description $description;
  801.         return $this;
  802.     }
  803.     public function getCreatedAt(): ?\DateTimeInterface
  804.     {
  805.         return $this->createdAt;
  806.     }
  807.     public function setCreatedAt(\DateTimeInterface $createdAt): self
  808.     {
  809.         $this->createdAt $createdAt;
  810.         return $this;
  811.     }
  812.     public function getUpdatedAt(): ?\DateTimeInterface
  813.     {
  814.         return $this->updatedAt;
  815.     }
  816.     public function setUpdatedAt(\DateTimeInterface $updatedAt): self
  817.     {
  818.         $this->updatedAt $updatedAt;
  819.         return $this;
  820.     }
  821.     public function getSlug(): ?string
  822.     {
  823.         return $this->slug;
  824.     }
  825.     public function setSlug(string $slug): self
  826.     {
  827.         $this->slug $slug;
  828.         return $this;
  829.     }
  830.     public function getPromoted(): ?bool
  831.     {
  832.         return $this->promoted;
  833.     }
  834.     public function setPromoted(?bool $promoted): self
  835.     {
  836.         $this->promoted $promoted;
  837.         return $this;
  838.     }
  839.     public function getT1VarietyName(): ?string
  840.     {
  841.         return $this->t1VarietyName;
  842.     }
  843.     public function setT1VarietyName(?string $t1VarietyName): self
  844.     {
  845.         $this->t1VarietyName $t1VarietyName;
  846.         return $this;
  847.     }
  848.     public function getT1Farmer(): ?string
  849.     {
  850.         return $this->t1Farmer;
  851.     }
  852.     public function setT1Farmer(?string $t1Farmer): self
  853.     {
  854.         $this->t1Farmer $t1Farmer;
  855.         return $this;
  856.     }
  857.     public function getT1VarietyType(): ?string
  858.     {
  859.         return $this->t1VarietyType;
  860.     }
  861.     public function setT1VarietyType(?string $t1VarietyType): self
  862.     {
  863.         $this->t1VarietyType $t1VarietyType;
  864.         return $this;
  865.     }
  866.     public function getT1RegistryCountry(): ?string
  867.     {
  868.         return $this->t1RegistryCountry;
  869.     }
  870.     public function setT1RegistryCountry(?string $t1RegistryCountry): self
  871.     {
  872.         $this->t1RegistryCountry $t1RegistryCountry;
  873.         return $this;
  874.     }
  875.     public function getT1ShortDescription(): ?string
  876.     {
  877.         return $this->t1ShortDescription;
  878.     }
  879.     public function setT1ShortDescription(?string $t1ShortDescription): self
  880.     {
  881.         $this->t1ShortDescription $t1ShortDescription;
  882.         return $this;
  883.     }
  884.     public function getT1UsableValue(): ?string
  885.     {
  886.         return $this->t1UsableValue;
  887.     }
  888.     public function setT1UsableValue(?string $t1UsableValue): self
  889.     {
  890.         $this->t1UsableValue $t1UsableValue;
  891.         return $this;
  892.     }
  893.     public function getT1AgronomyProfile(): ?string
  894.     {
  895.         return $this->t1AgronomyProfile;
  896.     }
  897.     public function setT1AgronomyProfile(?string $t1AgronomyProfile): self
  898.     {
  899.         $this->t1AgronomyProfile $t1AgronomyProfile;
  900.         return $this;
  901.     }
  902.     public function getT1CoborLink(): ?string
  903.     {
  904.         return $this->t1CoborLink;
  905.     }
  906.     public function setT1CoborLink(?string $t1CoborLink): self
  907.     {
  908.         $this->t1CoborLink $t1CoborLink;
  909.         return $this;
  910.     }
  911.     public function getT2VarietyName(): ?string
  912.     {
  913.         return $this->t2VarietyName;
  914.     }
  915.     public function setT2VarietyName(?string $t2VarietyName): self
  916.     {
  917.         $this->t2VarietyName $t2VarietyName;
  918.         return $this;
  919.     }
  920.     public function getT2Fao(): ?string
  921.     {
  922.         return $this->t2Fao;
  923.     }
  924.     public function setT2Fao(?string $t2Fao): self
  925.     {
  926.         $this->t2Fao $t2Fao;
  927.         return $this;
  928.     }
  929.     public function getT2Farmer(): ?string
  930.     {
  931.         return $this->t2Farmer;
  932.     }
  933.     public function setT2Farmer(?string $t2Farmer): self
  934.     {
  935.         $this->t2Farmer $t2Farmer;
  936.         return $this;
  937.     }
  938.     public function getT2RegistryCountry(): ?string
  939.     {
  940.         return $this->t2RegistryCountry;
  941.     }
  942.     public function setT2RegistryCountry(?string $t2RegistryCountry): self
  943.     {
  944.         $this->t2RegistryCountry $t2RegistryCountry;
  945.         return $this;
  946.     }
  947.     public function getT2VarietyType(): ?string
  948.     {
  949.         return $this->t2VarietyType;
  950.     }
  951.     public function setT2VarietyType(?string $t2VarietyType): self
  952.     {
  953.         $this->t2VarietyType $t2VarietyType;
  954.         return $this;
  955.     }
  956.     public function getT2ShortDescription(): ?string
  957.     {
  958.         return $this->t2ShortDescription;
  959.     }
  960.     public function setT2ShortDescription(?string $t2ShortDescription): self
  961.     {
  962.         $this->t2ShortDescription $t2ShortDescription;
  963.         return $this;
  964.     }
  965.     public function getT2FlaskImage(): ?string
  966.     {
  967.         return $this->t2FlaskImage;
  968.     }
  969.     public function setT2FlaskImage(?string $t2FlaskImage): self
  970.     {
  971.         $this->t2FlaskImage $t2FlaskImage;
  972.         return $this;
  973.     }
  974.     public function getT2FlaskSection(): ?string
  975.     {
  976.         return $this->t2FlaskSection;
  977.     }
  978.     public function setT2FlaskSection(?string $t2FlaskSection): self
  979.     {
  980.         $this->t2FlaskSection $t2FlaskSection;
  981.         return $this;
  982.     }
  983.     public function getT2GrainSection(): ?string
  984.     {
  985.         return $this->t2GrainSection;
  986.     }
  987.     public function setT2GrainSection(?string $t2GrainSection): self
  988.     {
  989.         $this->t2GrainSection $t2GrainSection;
  990.         return $this;
  991.     }
  992.     public function getT2SuggestedUse(): ?string
  993.     {
  994.         return $this->t2SuggestedUse;
  995.     }
  996.     public function setT2SuggestedUse(?string $t2SuggestedUse): self
  997.     {
  998.         $this->t2SuggestedUse $t2SuggestedUse;
  999.         return $this;
  1000.     }
  1001.     public function getT2Recommendations(): ?string
  1002.     {
  1003.         return $this->t2Recommendations;
  1004.     }
  1005.     public function setT2Recommendations(?string $t2Recommendations): self
  1006.     {
  1007.         $this->t2Recommendations $t2Recommendations;
  1008.         return $this;
  1009.     }
  1010.     public function getT2Description(): ?string
  1011.     {
  1012.         return $this->t2Description;
  1013.     }
  1014.     public function setT2Description(?string $t2Description): self
  1015.     {
  1016.         $this->t2Description $t2Description;
  1017.         return $this;
  1018.     }
  1019.     public function getT2CoborLink(): ?string
  1020.     {
  1021.         return $this->t2CoborLink;
  1022.     }
  1023.     public function setT2CoborLink(?string $t2CoborLink): self
  1024.     {
  1025.         $this->t2CoborLink $t2CoborLink;
  1026.         return $this;
  1027.     }
  1028.     public function getT2FarmerRecommendation(): ?string
  1029.     {
  1030.         return $this->t2FarmerRecommendation;
  1031.     }
  1032.     public function setT2FarmerRecommendation(?string $t2FarmerRecommendation): self
  1033.     {
  1034.         $this->t2FarmerRecommendation $t2FarmerRecommendation;
  1035.         return $this;
  1036.     }
  1037.     public function getT2Cobor(): ?string
  1038.     {
  1039.         return $this->t2Cobor;
  1040.     }
  1041.     public function setT2Cobor(?string $t2Cobor): self
  1042.     {
  1043.         $this->t2Cobor $t2Cobor;
  1044.         return $this;
  1045.     }
  1046.     public function getT2Chart(): ?string
  1047.     {
  1048.         return $this->t2Chart;
  1049.     }
  1050.     public function setT2Chart(?string $t2Chart): self
  1051.     {
  1052.         $this->t2Chart $t2Chart;
  1053.         return $this;
  1054.     }
  1055.     public function getT2SoilRequirements(): ?string
  1056.     {
  1057.         return $this->t2SoilRequirements;
  1058.     }
  1059.     public function setT2SoilRequirements(?string $t2SoilRequirements): self
  1060.     {
  1061.         $this->t2SoilRequirements $t2SoilRequirements;
  1062.         return $this;
  1063.     }
  1064.     public function getT3Type(): ?string
  1065.     {
  1066.         return $this->t3Type;
  1067.     }
  1068.     public function setT3Type(?string $t3Type): self
  1069.     {
  1070.         $this->t3Type $t3Type;
  1071.         return $this;
  1072.     }
  1073.     public function getT3VarietyName(): ?string
  1074.     {
  1075.         return $this->t3VarietyName;
  1076.     }
  1077.     public function setT3VarietyName(?string $t3VarietyName): self
  1078.     {
  1079.         $this->t3VarietyName $t3VarietyName;
  1080.         return $this;
  1081.     }
  1082.     public function getT3QualityClass(): ?string
  1083.     {
  1084.         return $this->t3QualityClass;
  1085.     }
  1086.     public function setT3QualityClass(?string $t3QualityClass): self
  1087.     {
  1088.         $this->t3QualityClass $t3QualityClass;
  1089.         return $this;
  1090.     }
  1091.     public function getT3ShortDescription(): ?string
  1092.     {
  1093.         return $this->t3ShortDescription;
  1094.     }
  1095.     public function setT3ShortDescription(?string $t3ShortDescription): self
  1096.     {
  1097.         $this->t3ShortDescription $t3ShortDescription;
  1098.         return $this;
  1099.     }
  1100.     public function getT3RegistryCountry(): ?string
  1101.     {
  1102.         return $this->t3RegistryCountry;
  1103.     }
  1104.     public function setT3RegistryCountry(?string $t3RegistryCountry): self
  1105.     {
  1106.         $this->t3RegistryCountry $t3RegistryCountry;
  1107.         return $this;
  1108.     }
  1109.     public function getT3Description(): ?string
  1110.     {
  1111.         return $this->t3Description;
  1112.     }
  1113.     public function setT3Description(?string $t3Description): self
  1114.     {
  1115.         $this->t3Description $t3Description;
  1116.         return $this;
  1117.     }
  1118.     public function getT3Description2(): ?string
  1119.     {
  1120.         return $this->t3Description2;
  1121.     }
  1122.     public function setT3Description2(?string $t3Description2): self
  1123.     {
  1124.         $this->t3Description2 $t3Description2;
  1125.         return $this;
  1126.     }
  1127.     public function getT3Description3(): ?string
  1128.     {
  1129.         return $this->t3Description3;
  1130.     }
  1131.     public function setT3Description3(?string $t3Description3): self
  1132.     {
  1133.         $this->t3Description3 $t3Description3;
  1134.         return $this;
  1135.     }
  1136.     public function getT3CoborLink(): ?string
  1137.     {
  1138.         return $this->t3CoborLink;
  1139.     }
  1140.     public function setT3CoborLink(?string $t3CoborLink): self
  1141.     {
  1142.         $this->t3CoborLink $t3CoborLink;
  1143.         return $this;
  1144.     }
  1145.     public function getT4ProductName(): ?string
  1146.     {
  1147.         return $this->t4ProductName;
  1148.     }
  1149.     public function setT4ProductName(?string $t4ProductName): self
  1150.     {
  1151.         $this->t4ProductName $t4ProductName;
  1152.         return $this;
  1153.     }
  1154.     public function getT4ProductType(): ?string
  1155.     {
  1156.         return $this->t4ProductType;
  1157.     }
  1158.     public function setT4ProductType(?string $t4ProductType): self
  1159.     {
  1160.         $this->t4ProductType $t4ProductType;
  1161.         return $this;
  1162.     }
  1163.     public function getT4Formulation(): ?string
  1164.     {
  1165.         return $this->t4Formulation;
  1166.     }
  1167.     public function setT4Formulation(?string $t4Formulation): self
  1168.     {
  1169.         $this->t4Formulation $t4Formulation;
  1170.         return $this;
  1171.     }
  1172.     public function getT4PermitNumber(): ?string
  1173.     {
  1174.         return $this->t4PermitNumber;
  1175.     }
  1176.     public function setT4PermitNumber(?string $t4PermitNumber): self
  1177.     {
  1178.         $this->t4PermitNumber $t4PermitNumber;
  1179.         return $this;
  1180.     }
  1181.     public function getT4InfoImage(): ?string
  1182.     {
  1183.         return $this->t4InfoImage;
  1184.     }
  1185.     public function setT4InfoImage(?string $t4InfoImage): self
  1186.     {
  1187.         $this->t4InfoImage $t4InfoImage;
  1188.         return $this;
  1189.     }
  1190.     public function getT4Application(): ?string
  1191.     {
  1192.         return $this->t4Application;
  1193.     }
  1194.     public function setT4Application(?string $t4Application): self
  1195.     {
  1196.         $this->t4Application $t4Application;
  1197.         return $this;
  1198.     }
  1199.     public function getT4ActionDescription(): ?string
  1200.     {
  1201.         return $this->t4ActionDescription;
  1202.     }
  1203.     public function setT4ActionDescription(?string $t4ActionDescription): self
  1204.     {
  1205.         $this->t4ActionDescription $t4ActionDescription;
  1206.         return $this;
  1207.     }
  1208.     public function getT4RecommendedDose(): ?string
  1209.     {
  1210.         return $this->t4RecommendedDose;
  1211.     }
  1212.     public function setT4RecommendedDose(?string $t4RecommendedDose): self
  1213.     {
  1214.         $this->t4RecommendedDose $t4RecommendedDose;
  1215.         return $this;
  1216.     }
  1217.     public function getT4DateOfApplication(): ?string
  1218.     {
  1219.         return $this->t4DateOfApplication;
  1220.     }
  1221.     public function setT4DateOfApplication(?string $t4DateOfApplication): self
  1222.     {
  1223.         $this->t4DateOfApplication $t4DateOfApplication;
  1224.         return $this;
  1225.     }
  1226.     public function getT4RecommendedTreatment(): ?string
  1227.     {
  1228.         return $this->t4RecommendedTreatment;
  1229.     }
  1230.     public function setT4RecommendedTreatment(?string $t4RecommendedTreatment): self
  1231.     {
  1232.         $this->t4RecommendedTreatment $t4RecommendedTreatment;
  1233.         return $this;
  1234.     }
  1235.     public function getT4TreatmentNumber(): ?string
  1236.     {
  1237.         return $this->t4TreatmentNumber;
  1238.     }
  1239.     public function setT4TreatmentNumber(?string $t4TreatmentNumber): self
  1240.     {
  1241.         $this->t4TreatmentNumber $t4TreatmentNumber;
  1242.         return $this;
  1243.     }
  1244.     public function getT4ActiveIngredient(): ?string
  1245.     {
  1246.         return $this->t4ActiveIngredient;
  1247.     }
  1248.     public function setT4ActiveIngredient(?string $t4ActiveIngredient): self
  1249.     {
  1250.         $this->t4ActiveIngredient $t4ActiveIngredient;
  1251.         return $this;
  1252.     }
  1253.     public function getT4AvailablePackage(): ?string
  1254.     {
  1255.         return $this->t4AvailablePackage;
  1256.     }
  1257.     public function setT4AvailablePackage(?string $t4AvailablePackage): self
  1258.     {
  1259.         $this->t4AvailablePackage $t4AvailablePackage;
  1260.         return $this;
  1261.     }
  1262.     public function getT4KindOfThreat(): ?string
  1263.     {
  1264.         return $this->t4KindOfThreat;
  1265.     }
  1266.     public function setT4KindOfThreat(?string $t4KindOfThreat): self
  1267.     {
  1268.         $this->t4KindOfThreat $t4KindOfThreat;
  1269.         return $this;
  1270.     }
  1271.     public function getT4SafeUse(): ?string
  1272.     {
  1273.         return $this->t4SafeUse;
  1274.     }
  1275.     public function setT4SafeUse(?string $t4SafeUse): self
  1276.     {
  1277.         $this->t4SafeUse $t4SafeUse;
  1278.         return $this;
  1279.     }
  1280.     public function getT4SafeUsePikto(): ?string
  1281.     {
  1282.         return $this->t4SafeUsePikto;
  1283.     }
  1284.     public function setT4SafeUsePikto(?string $t4SafeUsePikto): self
  1285.     {
  1286.         $this->t4SafeUsePikto $t4SafeUsePikto;
  1287.         return $this;
  1288.     }
  1289.     public function getT4Technology(): ?string
  1290.     {
  1291.         return $this->t4Technology;
  1292.     }
  1293.     public function setT4Technology(?string $t4Technology): self
  1294.     {
  1295.         $this->t4Technology $t4Technology;
  1296.         return $this;
  1297.     }
  1298.     public function getT4Link(): ?string
  1299.     {
  1300.         return $this->t4Link;
  1301.     }
  1302.     public function setT4Link(?string $t4Link): self
  1303.     {
  1304.         $this->t4Link $t4Link;
  1305.         return $this;
  1306.     }
  1307.     public function getT4Advertisment(): ?string
  1308.     {
  1309.         return $this->t4Advertisment;
  1310.     }
  1311.     public function setT4Advertisment(?string $t4Advertisment): self
  1312.     {
  1313.         $this->t4Advertisment $t4Advertisment;
  1314.         return $this;
  1315.     }
  1316.     public function getT4LegalInfo(): ?string
  1317.     {
  1318.         return $this->t4LegalInfo;
  1319.     }
  1320.     public function setT4LegalInfo(?string $t4LegalInfo): self
  1321.     {
  1322.         $this->t4LegalInfo $t4LegalInfo;
  1323.         return $this;
  1324.     }
  1325.     public function getT4Prize(): ?string
  1326.     {
  1327.         return $this->t4Prize;
  1328.     }
  1329.     public function setT4Prize(?string $t4Prize): self
  1330.     {
  1331.         $this->t4Prize $t4Prize;
  1332.         return $this;
  1333.     }
  1334.     public function getT5TradeName(): ?string
  1335.     {
  1336.         return $this->t5TradeName;
  1337.     }
  1338.     public function setT5TradeName(?string $t5TradeName): self
  1339.     {
  1340.         $this->t5TradeName $t5TradeName;
  1341.         return $this;
  1342.     }
  1343.     public function getT5ChemicalName(): ?string
  1344.     {
  1345.         return $this->t5ChemicalName;
  1346.     }
  1347.     public function setT5ChemicalName(?string $t5ChemicalName): self
  1348.     {
  1349.         $this->t5ChemicalName $t5ChemicalName;
  1350.         return $this;
  1351.     }
  1352.     public function getT5Formula(): ?string
  1353.     {
  1354.         return $this->t5Formula;
  1355.     }
  1356.     public function setT5Formula(?string $t5Formula): self
  1357.     {
  1358.         $this->t5Formula $t5Formula;
  1359.         return $this;
  1360.     }
  1361.     public function getT5Ingredients(): ?string
  1362.     {
  1363.         return $this->t5Ingredients;
  1364.     }
  1365.     public function setT5Ingredients(?string $t5Ingredients): self
  1366.     {
  1367.         $this->t5Ingredients $t5Ingredients;
  1368.         return $this;
  1369.     }
  1370.     public function getT5PkwiuNumber(): ?string
  1371.     {
  1372.         return $this->t5PkwiuNumber;
  1373.     }
  1374.     public function setT5PkwiuNumber(?string $t5PkwiuNumber): self
  1375.     {
  1376.         $this->t5PkwiuNumber $t5PkwiuNumber;
  1377.         return $this;
  1378.     }
  1379.     public function getT5CnNumber(): ?string
  1380.     {
  1381.         return $this->t5CnNumber;
  1382.     }
  1383.     public function setT5CnNumber(?string $t5CnNumber): self
  1384.     {
  1385.         $this->t5CnNumber $t5CnNumber;
  1386.         return $this;
  1387.     }
  1388.     public function getT5Description(): ?string
  1389.     {
  1390.         return $this->t5Description;
  1391.     }
  1392.     public function setT5Description(?string $t5Description): self
  1393.     {
  1394.         $this->t5Description $t5Description;
  1395.         return $this;
  1396.     }
  1397.     public function getT5Image(): ?string
  1398.     {
  1399.         return $this->t5Image;
  1400.     }
  1401.     public function setT5Image(?string $t5Image): self
  1402.     {
  1403.         $this->t5Image $t5Image;
  1404.         return $this;
  1405.     }
  1406.     public function getT6Name(): ?string
  1407.     {
  1408.         return $this->t6Name;
  1409.     }
  1410.     public function setT6Name(?string $t6Name): self
  1411.     {
  1412.         $this->t6Name $t6Name;
  1413.         return $this;
  1414.     }
  1415.     public function getT6Type(): ?string
  1416.     {
  1417.         return $this->t6Type;
  1418.     }
  1419.     public function setT6Type(?string $t6Type): self
  1420.     {
  1421.         $this->t6Type $t6Type;
  1422.         return $this;
  1423.     }
  1424.     public function getT6ShortDescription(): ?string
  1425.     {
  1426.         return $this->t6ShortDescription;
  1427.     }
  1428.     public function setT6ShortDescription(?string $t6ShortDescription): self
  1429.     {
  1430.         $this->t6ShortDescription $t6ShortDescription;
  1431.         return $this;
  1432.     }
  1433.     public function getT6ShortDescription2(): ?string
  1434.     {
  1435.         return $this->t6ShortDescription2;
  1436.     }
  1437.     public function setT6ShortDescription2(?string $t6ShortDescription2): self
  1438.     {
  1439.         $this->t6ShortDescription2 $t6ShortDescription2;
  1440.         return $this;
  1441.     }
  1442.     public function getT6Description(): ?string
  1443.     {
  1444.         return $this->t6Description;
  1445.     }
  1446.     public function setT6Description(?string $t6Description): self
  1447.     {
  1448.         $this->t6Description $t6Description;
  1449.         return $this;
  1450.     }
  1451.     public function getT6Condition(): ?string
  1452.     {
  1453.         return $this->t6Condition;
  1454.     }
  1455.     public function setT6Condition(?string $t6Condition): self
  1456.     {
  1457.         $this->t6Condition $t6Condition;
  1458.         return $this;
  1459.     }
  1460.     public function getT7ProductName(): ?string
  1461.     {
  1462.         return $this->t7ProductName;
  1463.     }
  1464.     public function setT7ProductName(?string $t7ProductName): self
  1465.     {
  1466.         $this->t7ProductName $t7ProductName;
  1467.         return $this;
  1468.     }
  1469.     public function getT7ProductType(): ?string
  1470.     {
  1471.         return $this->t7ProductType;
  1472.     }
  1473.     public function setT7ProductType(?string $t7ProductType): self
  1474.     {
  1475.         $this->t7ProductType $t7ProductType;
  1476.         return $this;
  1477.     }
  1478.     public function getT7SafeUse(): ?string
  1479.     {
  1480.         return $this->t7SafeUse;
  1481.     }
  1482.     public function setT7SafeUse(?string $t7SafeUse): self
  1483.     {
  1484.         $this->t7SafeUse $t7SafeUse;
  1485.         return $this;
  1486.     }
  1487.     public function getT1Recommendations(): ?string
  1488.     {
  1489.         return $this->t1Recommendations;
  1490.     }
  1491.     public function setT1Recommendations(?string $t1Recommendations): self
  1492.     {
  1493.         $this->t1Recommendations $t1Recommendations;
  1494.         return $this;
  1495.     }
  1496.     public function getT4ProductFeatures(): ?string
  1497.     {
  1498.         return $this->t4ProductFeatures;
  1499.     }
  1500.     public function setT4ProductFeatures(?string $t4ProductFeatures): self
  1501.     {
  1502.         $this->t4ProductFeatures $t4ProductFeatures;
  1503.         return $this;
  1504.     }
  1505.     public function getT4CombatedPests(): ?string
  1506.     {
  1507.         return $this->t4CombatedPests;
  1508.     }
  1509.     public function setT4CombatedPests(?string $t4CombatedPests): self
  1510.     {
  1511.         $this->t4CombatedPests $t4CombatedPests;
  1512.         return $this;
  1513.     }
  1514.     public function getProducerName(): ?string
  1515.     {
  1516.         return $this->producerName;
  1517.     }
  1518.     public function setProducerName(?string $producerName): self
  1519.     {
  1520.         $this->producerName $producerName;
  1521.         return $this;
  1522.     }
  1523.     public function getProducerImage(): ?MediaObject
  1524.     {
  1525.         return $this->producerImage;
  1526.     }
  1527.     public function setProducerImage(?MediaObject $producerImage): void
  1528.     {
  1529.         $this->producerImage $producerImage;
  1530.     }
  1531.     public function getDownload(): ?string
  1532.     {
  1533.         return $this->download;
  1534.     }
  1535.     public function setDownload(?string $download): self
  1536.     {
  1537.         $this->download $download;
  1538.         return $this;
  1539.     }
  1540.     public function getNew(): ?bool
  1541.     {
  1542.         return $this->new;
  1543.     }
  1544.     public function setNew(?bool $new): self
  1545.     {
  1546.         $this->new $new;
  1547.         return $this;
  1548.     }
  1549.     public function getKurkaAvailable(): ?bool
  1550.     {
  1551.         return $this->kurkaAvailable;
  1552.     }
  1553.     public function setKurkaAvailable(?bool $kurkaAvailable): self
  1554.     {
  1555.         $this->kurkaAvailable $kurkaAvailable;
  1556.         return $this;
  1557.     }
  1558.     public function getT7ShortDescription(): ?string
  1559.     {
  1560.         return $this->t7ShortDescription;
  1561.     }
  1562.     public function setT7ShortDescription(?string $t7ShortDescription): self
  1563.     {
  1564.         $this->t7ShortDescription $t7ShortDescription;
  1565.         return $this;
  1566.     }
  1567.     public function getT3Chart(): ?string
  1568.     {
  1569.         return $this->t3Chart;
  1570.     }
  1571.     public function setT3Chart(?string $t3Chart): self
  1572.     {
  1573.         $this->t3Chart $t3Chart;
  1574.         return $this;
  1575.     }
  1576.     public function getFilterQualityClass(): ?int
  1577.     {
  1578.         return $this->filterQualityClass;
  1579.     }
  1580.     public function setFilterQualityClass(?int $filterQualityClass): self
  1581.     {
  1582.         $this->filterQualityClass $filterQualityClass;
  1583.         return $this;
  1584.     }
  1585.     public function getFilterSoilRequirements(): ?int
  1586.     {
  1587.         return $this->filterSoilRequirements;
  1588.     }
  1589.     public function setFilterSoilRequirements(?int $filterSoilRequirements): self
  1590.     {
  1591.         $this->filterSoilRequirements $filterSoilRequirements;
  1592.         return $this;
  1593.     }
  1594.     public function getFilterFao(): ?int
  1595.     {
  1596.         return $this->filterFao;
  1597.     }
  1598.     public function setFilterFao(?int $filterFao): self
  1599.     {
  1600.         $this->filterFao $filterFao;
  1601.         return $this;
  1602.     }
  1603.     public function getFilterSuggestedUse(): ?int
  1604.     {
  1605.         return $this->filterSuggestedUse;
  1606.     }
  1607.     public function setFilterSuggestedUse(?int $filterSuggestedUse): self
  1608.     {
  1609.         $this->filterSuggestedUse $filterSuggestedUse;
  1610.         return $this;
  1611.     }
  1612.     public function getFilterBrand(): ?int
  1613.     {
  1614.         return $this->filterBrand;
  1615.     }
  1616.     public function setFilterBrand(?int $filterBrand): self
  1617.     {
  1618.         $this->filterBrand $filterBrand;
  1619.         return $this;
  1620.     }
  1621.     public function getFilterType(): ?int
  1622.     {
  1623.         return $this->filterType;
  1624.     }
  1625.     public function setFilterType(?int $filterType): self
  1626.     {
  1627.         $this->filterType $filterType;
  1628.         return $this;
  1629.     }
  1630.     public function getFilterType2(): ?int
  1631.     {
  1632.         return $this->filterType2;
  1633.     }
  1634.     public function setFilterType2(?int $filterType2): self
  1635.     {
  1636.         $this->filterType2 $filterType2;
  1637.         return $this;
  1638.     }
  1639.     public function getFilterType3(): ?int
  1640.     {
  1641.         return $this->filterType3;
  1642.     }
  1643.     public function setFilterType3(?int $filterType3): self
  1644.     {
  1645.         $this->filterType3 $filterType3;
  1646.         return $this;
  1647.     }
  1648.     public function getFilterFertilizerType(): ?string
  1649.     {
  1650.         return $this->filterFertilizerType;
  1651.     }
  1652.     public function setFilterFertilizerType(?string $filterFertilizerType): self
  1653.     {
  1654.         $this->filterFertilizerType $filterFertilizerType;
  1655.         return $this;
  1656.     }
  1657.     public function getPublic(): ?bool
  1658.     {
  1659.         return $this->public;
  1660.     }
  1661.     public function setPublic(?bool $public): self
  1662.     {
  1663.         $this->public $public;
  1664.         return $this;
  1665.     }
  1666.     public function getAuthor(): ?User
  1667.     {
  1668.         return $this->author;
  1669.     }
  1670.     public function setAuthor(?User $author): self
  1671.     {
  1672.         $this->author $author;
  1673.         return $this;
  1674.     }
  1675.     /**
  1676.      * @return Collection|Category[]
  1677.      */
  1678.     public function getCategory(): Collection
  1679.     {
  1680.         return $this->category;
  1681.     }
  1682.     public function addCategory(Category $category): self
  1683.     {
  1684.         if (!$this->category->contains($category)) {
  1685.             $this->category[] = $category;
  1686.         }
  1687.         return $this;
  1688.     }
  1689.     public function removeCategory(Category $category): self
  1690.     {
  1691.         $this->category->removeElement($category);
  1692.         return $this;
  1693.     }
  1694.     public function getSearchKeywords(): ?string
  1695.     {
  1696.         return $this->searchKeywords;
  1697.     }
  1698.     public function setSearchKeywords(?string $searchKeywords): self
  1699.     {
  1700.         $this->searchKeywords $searchKeywords;
  1701.         return $this;
  1702.     }
  1703.     /**
  1704.      * @return Collection|FilterUse[]
  1705.      */
  1706.     public function getFilterUse(): Collection
  1707.     {
  1708.         return $this->filterUse;
  1709.     }
  1710.     public function addFilterUse(FilterUse $filterUse): self
  1711.     {
  1712.         if (!$this->filterUse->contains($filterUse)) {
  1713.             $this->filterUse[] = $filterUse;
  1714.         }
  1715.         return $this;
  1716.     }
  1717.     public function removeFilterUse(FilterUse $filterUse): self
  1718.     {
  1719.         $this->filterUse->removeElement($filterUse);
  1720.         return $this;
  1721.     }
  1722.     /**
  1723.      * @return Collection|self[]
  1724.      */
  1725.     public function getRelated(): Collection
  1726.     {
  1727.         return $this->related;
  1728.     }
  1729.     public function addRelated(self $related): self
  1730.     {
  1731.         if (!$this->related->contains($related)) {
  1732.             $this->related[] = $related;
  1733.         }
  1734.         return $this;
  1735.     }
  1736.     public function removeRelated(self $related): self
  1737.     {
  1738.         $this->related->removeElement($related);
  1739.         return $this;
  1740.     }
  1741.     public function getPackshot(): ?MediaObject
  1742.     {
  1743.         return $this->packshot;
  1744.     }
  1745.     public function setPackshot(?MediaObject $packshot): self
  1746.     {
  1747.         $this->packshot $packshot;
  1748.         return $this;
  1749.     }
  1750.     public function getType(): ?ProductType
  1751.     {
  1752.         return $this->type;
  1753.     }
  1754.     public function setType(?ProductType $type): void
  1755.     {
  1756.         $this->type $type;
  1757.     }
  1758.     public function getShowDescription(): ?bool
  1759.     {
  1760.         return $this->showDescription;
  1761.     }
  1762.     public function setShowDescription(bool $showDescription): self
  1763.     {
  1764.         $this->showDescription $showDescription;
  1765.         return $this;
  1766.     }
  1767.     public function getLink(): ?string
  1768.     {
  1769.         return $this->link;
  1770.     }
  1771.     public function setLink(?string $link): self
  1772.     {
  1773.         $this->link $link;
  1774.         return $this;
  1775.     }
  1776. }