Bonjour,
J'aimerais utiliser doctrine afin de récuperer des données dans une de mes tables, qui n'est pas une entité.
use Doctrine\DBAL\Driver\Connection;
$connection->fetchAll("SELECT ...");
Avec le composant connection, je suis capable de récuperer mes données dans toutes mes entity, mais des que je choisi ma table qui n'en est pas une, j'ai une erreur.
Auriez vous une solution ?
Merci
Ici le code fonctionne mais je suis obligé d'utiliser PDO. La requête AJAX devient assez longue. de plus je dois préparer ma requête SQL afin d'éviter les failles.
/**
* @Route("/api/search", name="map_api_search")
*/
public function search(Connection $connection, Request $request, ObjectManager $manager) : Response {
if($ajaxRequest = $request->getContent())
{
$requestContent = json_decode($ajaxRequest, true);
$content = $requestContent["content"];
$config = new \Doctrine\DBAL\Configuration();
$connectionParams = array(
'dbname' => 'smartport',
'user' => 'root',
'password' => '',
'host' => '127.0.0.1:3306',
'driver' => 'pdo_mysql',
);
$conn = \Doctrine\DBAL\DriverManager::getConnection($connectionParams, $config);
// Prepare the query
$sql = "SELECT nom, lon, lat, id FROM `chimie_stations2` WHERE nom LIKE '%$content%' AND aasqa = 'PACA'";
// Execute SQL query
$stmt = $conn->query($sql);
//Prepare an array to push all the results from the query
$results = array();
// Processing...
while($data = $stmt->fetch())
{
$results[] = $data;
}
if(($results)) {
return new JsonResponse([
'result' => true,
'results' => json_encode($results),
]);
} else {
return new JsonResponse([
'result' => false,
]);
}
}
}