i löschen möchten ein Produkt nach einem bekannten Zeitpunkt dies ist mein Controller beginnen muss:nicht definierte Methode Der Name der Methode entweder mit findBy oder findOneBy
public function indexAction()
{
$em = $this->getDoctrine()->getManager();
$productsInitial = $em->getRepository('ProductBundle:Product')->findAll();
$productsAfterdelete=$em->getRepository('ProductBundle:Product')->deleteApresDure($productsInitial);
return $this->render('product/index.html.twig', array(
'products' => $productsAfterdelete,
));
}
meine Funktion in Repository-Klasse:
public function deleteApresDuree($products)
{
$datenow=new \DateTimeImmutable();
foreach ($products as $produit){
$datecreation=$produit->getCreatedDate();
$result = $datecreation->format('Y-m-d');
$date_fin = date('Y-m-d', strtotime($result.' +15 days'));
if ($datenow>$date_fin)
{
unset($products[$produit]);
array_values($products);
}
}
return $products;
}
/** * Produit * @ORM \ Entity (repositoryClass = "\ ProductBundle \ Repository \ ProductRepository") * @Vich \ Hochladbare @ORM * \ Table (name = "produit") */
Fehler:
nicht definierte Methode 'deleteApresDure'. Der Methodenname muss mit findBy oder findOneBy beginnen!
please JEDE HILFE !!
Die Fehlermeldung bedeutet, dass Ihr Repository nicht richtig auf die Entität ändern sollte abgebildet wird. Stellen Sie sicher, dass der Cache gelöscht wurde und Sie keine Tippfehler haben. Andere obskure Dinge könnten auch falsch sein. Es gibt mehrere hundert andere Fragen mit genau dem gleichen Problem. – Cerad
Ich erwähne das! dass ich kein anmerkungsproblem hatte, habe ich in den mehreren hundert anderen fragen gesucht und es war ein anderes problem. –
egal wie ich meine Funktion auf den Controller kopiert und es funktionierte thnx übrigens –