2017-12-14 3 views
1

私のdbスキーマでは、書籍と本の間に2つの関連テーブルがあります。ここで私は外国のすべての出現のリストを返そうとしていますbookpermitは外部キーを持つ書籍に関連しているため、ブックパーミットテーブルのキーIDです。ここではサンプルのDBスキーマがあるbooksテーブル内の外部キーIDのすべてのリストを返す - symfony

bookpermit

id | userfk | bookfk | 
1 | 6  | 6  | 
2 | 6  | 7  | 
3 | 7  | 7  | 
4 | 8  | 8  | 

冊私のコントローラで

id | name | uerfk | 
1 | xyz1 | 6  | 
2 | xyz2 | 7  | 
3 | xyz3 | 8  | 

私は本をアップロードしたユーザーとユーザーbookpermitテーブルのパラメータを取ります。このコードの機能を持っています

public function displayAction(Request $request, $user, $bookpermit) 
    { 
     $em = $this->getDoctrine()->getManager(); 
    $bookLists= $em->getRepository("xxxBundle:Books")->findBy(
     array(
      "usersfk" => $user, 
      "usersfk" => $bookpermit 
     ) 
    ); 

    $data = array(); 

    foreach ($bookLists as $bookList) 
    { 

     array_push($data, $this->serialize($bookLists)); 
    } 


    $response = new Response(json_encode($data), 200); 
    $response->headers->set('Content-Type', 'application/json'); 

    return $response; 
    } 

私のrouting.ymlファイルには、次のコードスニペットがあります私は6は、ユーザID 7であると仮定すると、このエンドポイント

http://localhost:88/books/web/app_dev.php/displaybookbypermission/6/7 

と上記ルーティングにアクセスする必要がある場合のパラメータユーザの とbookpermit

display_book_by_permission: 
    pattern: /displaybookbypermission/{user}/{imagepermit} 
    defaults: { _controller: xxxBundle:Books:display, _format: ~ } 
    requirements: 
     _method: GET 

woは結果戻るXYZ2本許可IDです。今、私の挑戦は、インスタンス

http://localhost:88/books/web/app_dev.php/displaybookbypermission/6/xyz2+xyz1 

代わりのブックテーブルからわずか1発生を返すパラメータの図書テーブルからXYZ2とzyz1を返すことができるようにすることです。すべてのアイデアと助けに感謝します。

答えて

関連する問題