Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- namespace App\DataFixtures;
- use App\Entity\BackLink;
- use App\Entity\Company;
- use App\Entity\User;
- use App\Entity\Website;
- use DateTime;
- use Doctrine\Bundle\FixturesBundle\Fixture;
- use Doctrine\Persistence\ObjectManager;
- use Doctrine\ORM\EntityManagerInterface;
- use Symfony\Component\Security\Core\Encoder\UserPasswordEncoderInterface;
- class BackLinkFixtures extends Fixture
- {
- private $companyList = [];
- private function createCompanies(): void
- {
- for ($i = 0; $i < 3; $i++) {
- array_push($this->companyList);
- }
- }
- private function createWebsites(string $url): void
- {
- for ($i = 0; $i < 10; $i++) {
- $this->newWebsite($this->companyList[mt_rand(0, count($this->companyList))], $url);
- }
- }
- private function newWebsite(Company $company, string $url): Website
- {
- $user = new User();
- $website = new Website($this->newUser($user));
- $website->setCompany($company)
- ->setUrl($url);
- $this->em->persist($website);
- $this->em->flush();
- return $website;
- }
- private function newCompany(Company $company): Company
- {
- $company
- ->setName($company['name'])
- ->setSiret($company['siret'])
- ->setAddressLine1($company['AddressLine1'])
- ->setAddressLine2($company['AddressLine2'])
- ->setPostalCode($company['PostalCode'])
- ->setCity($company['city'])
- ->setCountry($company['country'])
- ->setPhone($company['phone'])
- ->setEmail($company['email']);
- $this->em->persist($company);
- return $company;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement