我认为这很容易用Doctrine做,但我不知道怎么做。我确定我遗漏了一些基本的东西。
Doctrine_Query::create()
->from('Product p')
->leftJoin('p.Category c' )
->leftJoin('c.Image i')
->where('p.name LIKE ?', '%'.$search.'%'),
哪个有效,但我试图选择类别并尝试了这个,但它没有使用错误"未知列parent_id"
Doctrine_Query::create()
->from('Product p')
->leftJoin('p.Category c' )
->leftJoin('c.Image i')
->where('p.name LIKE ?', '%'.$search.'%')
->andWhere('c.parent_id NOT LIKE ?', '1'),
如何更改此Doctrine查询以包含andWhere语句?
答案 0 :(得分:0)
这有点猜测,因为我不知道你的架构。 DQL查询使用属性而不是数据库列名。我怀疑该类别有一个叫做父母的属性?
类似于:
Doctrine_Query::create()
->select('p,c,i') // Eager load
->from('Product p')
->leftJoin('p.Category c' )
->leftJoin('c.Image i')
->leftJoin('c.Parent parentCategory') // Join the parent entity
->where('p.name LIKE ?', '%'.$search.'%')
->andWhere('parentCategory.id NOT LIKE ?', '1'),