未定义的方法方法名称必须以findBy或findOneBy开头

时间:2017-02-18 19:47:20

标签: php symfony doctrine repository

我想在已知日期之后删除产品 这是我的控制器:

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,
    ));
}

我在存储库类中的函数:

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;

    }
  

/ **    *生产    * @ORM \ Entity(repositoryClass =" \ ProductBundle \ Repository \ ProductRepository")    * @Vich \ Uploadable    * @ORM \ Table(name =" produit")    * /

错误:

  

未定义的方法' deleteApresDure'。方法名称必须以findBy或findOneBy!

开头

pleaaase ANY HELP !!

1 个答案:

答案 0 :(得分:1)

您应该使用filenames = ['Nas - Big Girl.mp3', 'Nas - Come Get Me.mp3', 'Nas - God Love Us.mp3', 'Nas - Life We Chose.mp3', 'Nas - Nastradamus.mp3', 'Nas - New World.mp3', "Nas - Shoot 'Em Up.mp3", 'Nas - Some of Us Have Angels.mp3', 'Nas - The Outcome.mp3', 'Nas - The Prediction.mp3', 'Nas Feat. Bravehearts - Quiet Niggas.mp3', 'Nas Feat. Ginuwine - You Owe Me.mp3', 'Nas Feat. Mobb Deep - Family.mp3', 'Nas Feat. Nashawn - Last Words.mp3', 'Nas Feat. Ronald Isley - Project Windows.mp3']

更改repositoryClass="\ProductBundle\Repository\ProductRepository