Я использую bundle omines / datatables-bundle для создания таблиц в моем приложении Symfony.Когда я создаю пользовательский запрос, который соединяется с полем, имеющим отношение «многие ко многим», он возвращает слишком много строк.
Я использую Symfony 4.2 и пакет omines / datatables-bundle.Конечный результат - неправильное количество общих результатов и много пустых страниц в моей таблице.
Вот так создается моя таблица
class TestTableType implements DataTableTypeInterface
{
public function configure(DataTable $dataTable, array $options)
{
$dataTable
->add('id',
NumberColumn::class,
array(
'label' => 'ID',
'globalSearchable' => false
)
)
->createAdapter(ORMAdapter::class,
array(
'entity' => Test::class,
'query' => function (QueryBuilder $builder)
{
$builder
->distinct()
->select('t')
->from(Test::class, 't')
->leftJoin('t.products', 'prod');
}
)
)
;
}
}
, и вот сколькоВ моем классе сущностей определены многие отношения.
**
* @ORM\ManyToMany(targetEntity="App\Entity\Product", inversedBy="tests")
* @ORM\JoinTable(name="product_has_test")
*/
private $products;
public function __construct()
{
$this->products = new \Doctrine\Common\Collections\ArrayCollection();
}
вместе с геттерами и сеттерами
public function addProduct(\App\Entity\Product $product)
{
$this->products[] = $product;
return $this;
}
public function removeProduct(\App\Entity\Product $product)
{
$this->products->removeElement($product);
}
public function getProducts()
{
return $this->products;
}
Что может быть причиной этого?И как я могу это исправить?