私はtypo3拡張機能からいくつかのデータベーステーブルを取得したいです。拡張機能はextbaseに基づいています。
クエリは常に何も返しませんが、データは存在します
私はこれを試しました:
$query = $this->createQuery();
$query->statement('SELECT * FROM `my_table`
WHERE field = ? ORDER BY date DESC LIMIT 1',
array($condition));
$results = $query->execute();
この:
$query = $this->createQuery();
$query->matching($query->equals('field', $condition));
$query->setOrderings(array('date' => Tx_Extbase_Persistence_QueryInterface::ORDER_DESCENDING));
$query->setLimit(1);
$results = $query->execute();
結果として両方ともnullを返します。
クラスが作成するSQLを取得して、バグがどこにあるかを調べることは可能ですか?
いくつかのextbase永続クラスを調べましたが、手がかりが見つかりませんでした
編集:興味のある人のために..私は「解決策」を見つけました。
statement()メソッドを使用してクエリを作成する場合は、この関数を使用してクエリを出力できます。
echo $query->getStatement()->getStatement();
プレースホルダーを置き換えるものではありません。ただし、このメソッドを使用して変数を取得できます
var_dump($query->getStatement()->getBoundVariables());
これは、extbase拡張機能を編集せずに、私が見つけた最高のソリューションです。