УДАЛЕНИЕ PHQL не работает?

#html #phalcon

#HTML #phalcon

Вопрос:

Я пытаюсь использовать phalcons query language (PHQL) для удаления элементов из базы данных, я использовал метод GET, чтобы получить идентификатор элемента, на который нажали.. Идентификатор встроен

Контроллер:

 public function deleteSkillsAction(){
        $id=$_GET["id"]
        $phql = "DELETE FROM Skills WHERE id =:id:";
        $manager->executeQuery(
        $phql,
        array(
            'id' => $id
            
        )
    );
    
}
  

Получение следующего сообщения об ошибке, и запрос не выполняется:

Обратите внимание: неопределенная переменная: менеджер в C:xampphtdocsBluewareappcontrollerskillsController.php в строке 15

Неустранимая ошибка: вызов функции-члена ExecuteQuery() для не-объекта в C:xampphtdocsBluewareappcontrollerskillsController.php в строке 15

Комментарии:

1. изменить $phql = "DELETE FROM Skills WHERE id =:id"; его id = :id не id =:id:

2. Я думаю, что в Phalcon PHQL :id: этого нет :id .

3. в документах phalcon здесь указывается с двойным двоеточием

4. Попробуйте инициализировать $manager = $this->modelsManager;

5. @Tamil Awsome! большое вам спасибо

Ответ №1:

Попробуйте

сначала инициализируйте переменную $manager, согласно документации,

 $manager = $this->modelsManager;
$manager->executeQuery(
        $phql,
        array(
            'id' => $id

        )
    );
  

или

вызов выполняется как

 $this->modelsManager->executeQuery(
            $phql,
            array(
                'id' => $id

            )
        );