setSaasClientService()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 1
eloc 1
nc 1
nop 1
dl 0
loc 3
rs 10
c 1
b 0
f 0
1
<?php
2
3
/*
4
 * This file is part of the SaasProviderBundle package.
5
 * (c) Fluxter <http://fluxter.net/>
6
 * For the full copyright and license information, please view the LICENSE
7
 * file that was distributed with this source code.
8
 */
9
10
namespace Fluxter\SaasProviderBundle\Repository\Abstraction;
11
12
use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository;
13
use Fluxter\SaasProviderBundle\Model\SaasClientInterface;
14
use Fluxter\SaasProviderBundle\Service\SaasClientService;
15
16
abstract class AbstractClientRelatedRepository extends ServiceEntityRepository
17
{
18
    /** @var SaasClientService */
19
    protected $clientService;
20
21
    /** @required */
22
    public function setSaasClientService(SaasClientService $clientService)
23
    {
24
        $this->clientService = $clientService;
25
    }
26
27
    public function createQueryBuilder($alias, $indexBy = null, ?SaasClientInterface $client = null)
28
    {
29
        if (null == $client) {
30
            $client = $this->clientService->getCurrentClient();
31
        }
32
33
        return parent::createQueryBuilder($alias, $indexBy)
34
            ->andWhere($alias . '.client = :saasClientId')
35
            ->setParameter('saasClientId', $client->getId());
36
    }
37
}
38