データベースと現在のユーザーでデータを取得する必要があるため、エンティティマネージャーとsecurity.context
サービスで使用します
私はこのエラーがあります:
致命的なエラー: 84 行目の path/to/file 内の非オブジェクトに対するメンバー関数 getRepository() の呼び出し
service.yml :
services:
ns_messagerie.letterboxcore:
class: ns\MessagerieBundle\LetterBoxCore\LetterBoxCore
arguments: [@security.context, @doctrine.orm.entity_manager]
依存性注入:
class nsMessagerieExtension extends Extension
{
/**
* {@inheritDoc}
*/
public function load(array $configs, ContainerBuilder $container)
{
$configuration = new Configuration();
$config = $this->processConfiguration($configuration, $configs);
$loader = new Loader\YamlFileLoader($container, new FileLocator(__DIR__.'/../Resources/config'));
$loader->load('services.yml');
}
}
そして私のサービス:
class LetterBoxCore {
protected $securityContext;
protected $em;
public function __construct( $securityContext, $entityManager) {
$this->securityContext = $securityContext;
$this->em = $entityManager;
}
public function countNbNotRead(Utilisateur $user = null, Discussion $discussions) {
//...
}
public function getAllDiscussion(Utilisateur $user = null, $all = null) {
// line 84:
$list = $em->getRepository('nsMessagerieBundle:ParticipantMessagerie')
->findBy(array('participant' => $user,
'supprimer' => $all
)
);
}
public function getBAL(Utilisateur $user = null) {
// Call the method countNbNotRead and GetAllDiscussion
}