Я не могу ввести запрос без ошибок в параметре запроса ModelType :: class в переменной $ formMapper.
У меня есть, в src / Entity / Tareaspendientes.php
....
/**
* @ORM\ManyToOne(targetEntity="App\Entity\Prioridad", inversedBy="tareas")
*/
private $prioridad;
в src / Entity / Prioridad.php:
....
/**
* @var string
*
* @ORM\Column(name="prioridad", type="string", length=80)
*/
private $prioridad;
и в src / Admin / TareaspendientesAdmin.php:
....
use App\Entity\Tareaspendientes;
use App\Entity\Prioridad;
....
class TareaspendientesAdmin extends AbstractAdmin
{
.....
protected function configureFormFields(FormMapper $formMapper)
{
....
$formMapper
....
->add('prioridad', ModelType::class, [
'query' => $queryBuilder
])
......
с "-> add ('prioridad', ModelType :: class [query '=> ...") Я попытался перечислить поле prioridad в объекте Prioridad.
Для переменной $ queryBuilder я попробовал следующие варианты:
//Option 1
$queryBuilder = $this->getModelManager()
->getEntityManager(Prioridad::class)
->createQueryBuilder('c')
->select('c.prioridad')
->from('App:Prioridad', 'c')
->orderBy('c.prioridad', 'ASC');
//Option 2
$queryBuilder = $this->getModelManager('
SELECT s.prioridad
FROM App:Prioridad s
ORDER BY s.prioridad');
//Option 3
$entity = new \App\Entity\Prioridad();
$queryBuilder=this->modelManager->getEntityManager($entity)->createQuery('SELECT t.prioridad FROM \App\Entity\Prioridad t ORDER BY t.prioridad ASC');
//Option 4
$em = $this->getModelManager()->getEntityManager(Prioridad::class);
$queryBuilder = $em->createQueryBuilder()
->select('p.prioridad')
->from('App:Prioridad', 'p')
->orderby('p.prioridad')
->getQuery()
;
//Option 5
$em = $this->getDoctrine()->getManager();
$queryBuilder = $em->getRepository('App:Tareaspendientes')->findPrioridades();
но никто не работает. В последнем он выдает следующую ошибку:
Attempted to call an undefined method named "getDoctrine" of class "App\Admin\TareaspendientesAdmin
Есть идеи?