আমার এমন একটি সত্তা রয়েছে যা দেখতে এটির মতো দেখাচ্ছে:
/**
* @Gedmo\Tree(type="nested")
* @ORM\Table(name="categories")
* @ORM\Entity()
*/
class Category extends BaseCategory
{
/**
* @ORM\OneToMany(targetEntity="Category", mappedBy="parent")
*/
protected $children;
/**
* @Gedmo\TreeParent
* @ORM\ManyToOne(targetEntity="Category", inversedBy="children")
* @ORM\JoinColumn(name="parent_id", referencedColumnName="id", onDelete="SET NULL")
*/
protected $parent;
}
এবং আমি এই জাতীয় একটি কোয়েরি চালানোর চেষ্টা করছি:
$qb = $this->em->createQueryBuilder()
->select('c.parent')
->from('Category', 'c');
$result = $qb->getQuery()->getArrayResult();
তবে, আমি নিম্নলিখিত ত্রুটিটি পাচ্ছি:
[Semantical Error] ... Error: Invalid PathExpression. Must be a StateFieldPathExpression.
আমি কীভাবে আমার টেবিল থেকে প্যারেন্ট_আইডি ফিল্ডটি নির্বাচন করতে পারি। আমি একগুচ্ছ বৈচিত্র চেষ্টা করেছি এবং এমনকি আমি এরকম কিছু করলেও:
$qb = $this->em->createQueryBuilder()
->select('c')
->from('Category', 'c');
আমি প্যারেন্ট_আইডি বাদে সারণীতে সমস্ত ক্ষেত্র পেয়েছি। এটি মতাদর্শের পথে চলেছে বলে মনে হচ্ছে। এই প্যারেন্ট_আইডি ফিল্ডের জন্য কীভাবে জিজ্ঞাসা করব? বা আরও ভালতর আমি কীভাবে প্যারেন্ট_আইডিসহ টেবিলে সমস্ত ক্ষেত্র পেতে পারি