Oznámení
Omlouváme se, provoz fóra byl ukončen
PostgreSQL: Escapování vložených subqueries
Upozornění: Tohle vlákno je hodně staré.
před 8 lety
- maarlin
- Člen | 207
$commentsCount = $this->connection
->select('COUNT(*)')->from('articles_comments')
->where('[article_id]=a.[id]');
echo (string)$commentsCount;
/*
SELECT COUNT(*) FROM "articles_comments" WHERE "article_id"=a."id"
*/
$query = $this->connection
->select('a.*, (%sql) AS comments_count', (string)$commentsCount)
->from('articles a');
$query->test();
/*
SELECT a.*, (
SELECT COUNT(*)
FROM 'articles_comments'
WHERE 'article_id'=a.'id') AS comments_count
FROM articles a
*/
Proč se to při konverzi na string přeloží správně (kolem názvů tabulek a sloupců vloží uvozovky), ale pak při vložení jako subquery to překonvertuje na apostrofy?