Bonjour,
Voila je rencontre un petit problème avec mon code.
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();
}
}
Je cherche à injecter dans la BD 100 biens
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.
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 ?
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
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 ?
J'ai lancé la commande netstat -a, mais je ne vois dans la liste des ports le 1337. estb ce normal ?
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 ?
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 ?