Php Symfony2+AngularJS

Php Symfony2+AngularJS,php,angularjs,symfony,dependency-injection,doctrine-orm,Php,Angularjs,Symfony,Dependency Injection,Doctrine Orm,我一直在使用symfony2开发一个web应用程序,现在我添加了一些Angularjs 我有一个输入字段,你可以按名称过滤产品,问题如下,我有一个php控制器,我做一些查询,然后我渲染视图,传递参数,在这种情况下,我会这样做 ....... return $this->render('default/index.html.twig',array( 'products' => $products)); 我的问题是,如果我想使用angular按名称筛选这些产品,我如何才能做到这一点

我一直在使用symfony2开发一个web应用程序,现在我添加了一些Angularjs

我有一个输入字段,你可以按名称过滤产品,问题如下,我有一个php控制器,我做一些查询,然后我渲染视图,传递参数,在这种情况下,我会这样做

.......
 return $this->render('default/index.html.twig',array( 'products' => $products)); 
我的问题是,如果我想使用angular按名称筛选这些产品,我如何才能做到这一点?在官方的angular教程中,我想要一个类似phonecat的应用程序,在这里你可以通过名字进行过滤 到目前为止,我已经做到了:

var StoreApp = angular.module('StoreApp', []);

StoreApp.controller('StoreCtrl', function($scope,$http){
    $http.get('http://localhost:8000').success(function(data){
        $scope.stores = data;
     });
});
问题是,我不知道将哪个URL放入GET参数,数据库中有几个表,我不知道如何处理它们。
我正在使用端口8000上的本地web服务器和Doctrine。

为了使用angular在客户端过滤数据,您需要使用javascript将数据从symfony2应用程序获取到angular范围

有多种方法可以做到这一点,快速而肮脏的方法是直接在angular ng init属性中呈现php中的products数组,如中所述

在我看来,将数据导入angular应用程序的最佳方法是创建一个RESTful端点,将JSON格式的产品数据公开给angular应用程序。使用symfony2,如果使用类似于以下代码段的控制器查询,则可以创建一个返回产品数据的控制器:

class ProductController
{
    public function getProductsAction()
    {
        $products = $this->getRepository('Products')->findAll(),
        return new JsonResponse($products);
    }
}

我终于可以解决这个问题了

这是我的控制器

 public function getAllStoresAction()
{
     $em = $this->getDoctrine()->getEntityManager();

     $query = $em->createQuery('SELECT s FROM AppBundle\Entity\Store s');

     $result = $query->getArrayResult();

    return new Response(json_encode($result), 200);


}
然后是我的app.js

var storeApp = angular.module('storeApp', []).config(function($interpolateProvider){
$interpolateProvider.startSymbol('{[{').endSymbol('}]}');
});

storeApp.controller('StoreCtrl',function($scope,$http){
$http.get('/get-all-stores').success(function(data){
      $scope.stores  = data;


});
$scope.orderProp = 'name';
});
还有我的路线

get_all_stores:
path: /get-all-stores
defaults: { _controller: AppBundle:Default:getAllStores}
我设法找回了数据,但问题是它返回了一个空数组。 搜索一下,我发现我没有序列化数据,php不会自动进行序列化,所以我使用了这个getArrayResult;而且效果很好

谢谢彼得·皮尔德曼的帮助