2017-11-04 16 views
0

Viewにオブジェクトの配列にクエリを取得するために私が意味:最も簡単な方法は、データベース内のsymfony

create view `vMaketType` as select * from MaketType 

私は、クエリを使用して、viewでデータベースを持っていますが、理由は教義の今、それをサポートするカント、そしてそれを一つずつフェッチ:

 $em = $this->getDoctrine()->getManager(); 
     $con = $this->getDoctrine()->getEntityManager()->getConnection(); 
     $stmt = $con->executeQuery('SELECT * FROM vMaketType'); 
     $domain = []; 
     //I must fetch it and set it one by one 
     foreach ($stmt->fetchAll() as $row){ 
      $obj = new vMaketType(); 
      $obj->setId($row["Id"]); 
      $obj->setName($row["Name"]); 
      $obj->setAmount($row["Amount"]); 
      array_push($domain, $obj); 
     } 

これは本当に一つ一つをコーディングする時間がかかりすぎる私のために。

vMaketTypeはカスタムエンティティコントローラから[Twig]ビューにデータを送信するために作成しました。

オブジェクトvMaketTypeの配列にフェッチする方法は簡単ですか?

私は24フィールドのビューを持っているので、簡単な方法があることを願っています。

+0

MarketTypeを使用するのはなぜですか(マッピング情報を持つエンティティであると仮定しています)。 – ccKep

+0

彼はSQLビューでは動作しないと言いますが、なぜ表示されないのですか?チェックアウト:https://stackoverflow.com/questions/8377671/how-to-set-up-entity-doctrine-for-database -view-in-symfony-2 –

+0

ORMを使用してスキーマ – yozawiratama

答えて

0

おそらく、あなたは、シリアライザで試すことができますテストされていません

$obj = $this->get('serializer')->deserialize($row, 'Namespace\MaketType', 'array'); 

コードを、微調整は、see the related docを行うことができます。

+0

私はそれを読んだことがありますが、それはビューのために働きません。そのため、私は手書きのクエリを使用しました。 :)あなたは私の説明を最初に読んでおくべきです、またはもし何か方法があるならばcmiiw教義サポートビュー – yozawiratama

+0

追加された例。あなたの小枝のコードを見せてください。 –

+0

cmon、bro、あなたが私に尋ねることを理解していない – yozawiratama

関連する問題