Używam Yii Yii :: app() -> db-> createCommand() do zbudowania zapytania SQL. Aby wyświetlić kod SQL wygenerowany przez Yii, używam metody getText() z CDBCommand. Problemem jest to, kiedy stosowanie metody getText() na kodzie SQL zawiera parametry, na przykład:Yii CDBCommand getText, aby wyświetlić wszystkie zmienne w SQL
Yii::app()->db->createCommand()
->select("name")
->from('package')
->where('id=:id', array(':id'=>5))
->queryRow();
sposób getText() zwraca następującą SQL:
select name from package where id=:id
zamiast:
select name from package where id=5
Jest to przydatne w przypadku prostych zapytań, ale w przypadku bardziej złożonych zapytań z wieloma parametrami, trudno jest skopiować/wkleić każdy parametr do kodu SQL, aby go przetestować.
Czy istnieje sposób wyświetlania parametrów bezpośrednio w SQL za pomocą metody getText() lub innej metody w Yii?
Pozdrawiam!
Nie, to zwróciło to samo oświadczenie, na przykład "wybierz nazwę z pakietu, w którym id =: id", zobacz ten artykuł, aby uzyskać prawdziwe obejście http://daveyshafik.com/archives/605-debugging-pdo-prepared-ventements .html. Nie chodzi o PDO w Yii, ale można ją również zastosować dla Yii – Ekonoval