3

SQL Function (CONCAT,REPLACE,LDAP) を使用するには、クエリビルダーの教義 2 で SQL NATIVE を使用する必要があります。私を助けてください。

4

2 に答える 2

3

あなたは試すことができます:

$connection = $this->get('doctrine')->getConnection();

$toto = "toto";
$foo = "foo";
$params = array('param1' => $toto, 'param2' => $foo);

$request = "SELECT * FROM table WHERE param1 = :param1 AND param2 = :param2";

try {
  $stmt = $connection->executeQuery($request, $params);
} catch (\PDOException $e) {
  // echo $e->getMessage();
}

while (($result = $stmt->fetch(\PDO::FETCH_ASSOC))) {
  // stuff with $result
}

サービスでそのようなリクエストを行いたい場合は、次のものが必要になる場合があります。

use Doctrine\DBAL\Connection;
于 2012-09-15T10:05:50.820 に答える
0

次の場所にエンティティ マネージャが格納されているとします$this->em

$dql = $this->em->createQuery('
    SELECT CONCAT(tbl.col1, ' ', tbl.col2), COALESCE(SUM(tbl.col3), 0)
    FROM myTable tbl
');

$result = $dql->getResult();

print_r($result);

これは Doctrine 2 ORM 用です。テーブルmyTableは、バンドル、クラスパス + クラス名、または名前空間 + クラス名 ( ... FROM My\Namespace\Class\Model tbl ...) でアドレス指定できます。

于 2012-11-07T14:21:27.860 に答える