Symfony 4 par l'exemple - Paginer les biens

Par tikoum, il y a 6 ans


Bonjour,

Voila je rencontre un petit problème avec mon code.

Ce que je fais

Chapitre : paginer les biens
Je suis au moment où après avoir renseigné le fichier PropertyFixture , on lance la ligne de commande php bin/console doctrine:fixtures:load pour charger dans la base de donnée les 100 biens (vers le début de la 5ème minute de la vidéo)
Ci-après mon code du fichier PropertyFixture :

<?php namespace App\DataFixtures; use App\Entity\Property; use Doctrine\Bundle\FixturesBundle\Fixture; use Doctrine\Common\Persistence\ObjectManager; use Faker\Factory; class PropertyFixture extends Fixture { public function load(ObjectManager $manager) { $faker = Factory::create('fr_FR'); for($i = 0; $i < 100; $i++) { $property = new Property(); $property ->setTitle($faker->words(3, true)) ->setDescription($faker->sentences(3, true)) ->setSurface($faker->numberBetween(12, 400)) ->setRooms($faker->numberBetween(1, 10)) ->setBedrooms($faker->numberBetween(1, 10)) ->setFloor($faker->numberBetween(0, 15)) ->setPrice($faker->numberBetween(100000, 2000000)) ->setHeat($faker->numberBetween(0, count(Property::HEAT) - 1)) ->setCity($faker->city) ->setAdress($faker->adress) ->setPostalCode($faker->postcode) ->setSold(false); $manager->persist($property); } // $product = new Product(); // $manager->persist($product); $manager->flush(); } }

Ce que je veux

Je cherche à injecter dans la BD 100 biens

Ce que j'obtiens

j'ai le message d'erreur suivant :
Argument 1 passed App\Entity\Property::setTitle must be of the type string. array given. Pourtant, j'ai bien porté words à true.
Au final, aucun élément n'a été chargé dans la base de données.

Merci par avance pour votre aide.

11 réponses

tikoum, il y a 6 ans

Quelqu'un peut m'aider svp ?

olive140, il y a 6 ans

Bonjour,
Le code à l'air juste, il faut peut être vider le cache.

tikoum, il y a 6 ans

Bonjour Olive,
Merci pour ton retour.
Ca fonctionne, j'avais fais une erreur au niveau du champ address (j'avais mis qu'un seul d).

Je suis en train d'essayer de mettre une socket io sur un site pour faire un chat (j'ai suivi le tutoriel de Grafikart sur le sujet. malheureusement je bloque vers la 9eme minute après le loading de socket io: le socket ne se connecte pas et je n'ai pas l'info démarrage socket.io started.
Est ce que tu connais ce sujet ?

olive140, il y a 6 ans

Bonjour tikoum

oui je connais bien socket.io. Quand tu lances ton script c'est normal que n'est pas 'socket.io started' la version actuelle n'affiche rien.

Pour savoir si le socket ecoute, tu peux faire un netstat. Si tu es sous linux

netstat -laputen | grep 1337
tikoum, il y a 6 ans

Bonjour Olive,
Merci pour ta réponse. Effectivement, En lisant de la doc ds la doc que socket io pour les versions >1, il est log à 0 par défaut.
Je suis sur windows. Est ce que tu connais le script pour ce système afin de savoir si le socket écoute ou il faut poursuivre le tuto en mode silent ?

olive140, il y a 6 ans

sous windows:

netstat -a
tikoum, il y a 6 ans

Merci. Je te tiendrais informé.

tikoum, il y a 6 ans

Je dois m'occupé de mon wamp qui ne fonctionne plus.

tikoum, il y a 6 ans

J'ai lancé la commande netstat -a, mais je ne vois dans la liste des ports le 1337. estb ce normal ?

tikoum, il y a 6 ans

Bonjour Olive,
Je crois que ça ne fonctionne pas. A supposer même que socket.io est en mode silent, quand je charge la page de mon site web, il n'y a vraiment rien dans les lignes de commande qui s'affiche. Je pense que le socket.io.js ne se charge pas car quand j'appelle localhost:1337/socket.io/socket.io.js, je n'ai pas la bonne librairie qui s'affiche (c'est un code très compact - comme un défilement de ligne). Le socket.io n'est plus le parent direct de socket.io.js, il y a un répertoire lib entre eux. C'est peut-être un problème de chemin mais même quande je le modifie, ça ne fonctionne pas.
Est ce que tu peux m'aider ?

tikoum, il y a 6 ans

Merci laura, il s'agissait en fait d'une erreur au niveau du champ Address (avec 2 d).
Est ce que tu as des connaissances avec nodejs ?