从控制器调用实体方法

时间:2015-02-25 18:25:26

标签: angularjs symfony controller entity

我遇到以下问题...

我的HTML Angular部分

<button ng-click="setFollowed(store)" class="btn btn-default">Follow</button>

我的app.js

  .....
$scope.setFollowed = function(aStore){
    $http.put('/set-followed-store/aStore', { params: { aStore: aStore } }).success(function(data){
        alert(aStore.nombre);
    }).
    error(function(data, status, headers, config) {
                    alert(data);
    });
}

这很好用。

当我在&#34; set-follow-store / store&#34;中调用方法时出现问题。 URL,

这是我在控制器中的方法,(我省略了routing.yml,但是它配置为触发此方法。)

    public function setFollowedStoreAction($aStore)
{

    $em = $this->getDoctrine()->getManager();

    $follower_store = $em->getRepository('AppBundle:Store')
                ->find($this->getUser()->getId());

    if(!$follower_store)
        throw $this->createNotFoundException('No store has been found with id: '.$this->getUser()->getId());


    $follower_store.addFollowedStore($aStore);

    $em->flush();

    return new Response('200 OK');

}

$ follower_store.addFollowedStore($ ASTORE);

给我以下错误,

Attempted to call function &quot;addFollowedStore&quot; from namespace &quot;AppBundle\Controller&quot;. (500 Internal Server Error)

希望有人可以提前帮助,谢谢!

1 个答案:

答案 0 :(得分:3)

您应该使用->代替.来调用对象上的方法:

$follower_store->addFollowedStore($aStore);