Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
100.00% covered (success)
100.00%
22 / 22
100.00% covered (success)
100.00%
6 / 6
CRAP
100.00% covered (success)
100.00%
1 / 1
RequestRelation
100.00% covered (success)
100.00%
22 / 22
100.00% covered (success)
100.00%
6 / 6
6
100.00% covered (success)
100.00%
1 / 1
 getEntityMapping
100.00% covered (success)
100.00%
6 / 6
100.00% covered (success)
100.00%
1 / 1
1
 getReferenceMapping
100.00% covered (success)
100.00%
8 / 8
100.00% covered (success)
100.00%
1 / 1
1
 addConditionRequestId
100.00% covered (success)
100.00%
2 / 2
100.00% covered (success)
100.00%
1 / 1
1
 addConditionProviderId
100.00% covered (success)
100.00%
2 / 2
100.00% covered (success)
100.00%
1 / 1
1
 addConditionBookable
100.00% covered (success)
100.00%
2 / 2
100.00% covered (success)
100.00%
1 / 1
1
 addConditionSource
100.00% covered (success)
100.00%
2 / 2
100.00% covered (success)
100.00%
1 / 1
1
1<?php
2
3namespace BO\Zmsdb\Query;
4
5class RequestRelation extends Base implements MappingInterface
6{
7    const TABLE = 'request_provider';
8
9    const ALIAS = 'request_provider';
10
11    public function getEntityMapping()
12    {
13        return [
14            'request__id' => self::TABLE . '.request__id',
15            'provider__id' => self::TABLE . '.provider__id',
16            'source' => self::TABLE . '.source',
17            'slots' => self::TABLE . '.slots'
18        ];
19    }
20
21    public function getReferenceMapping()
22    {
23        return [
24            'request__$ref' => self::expression(
25                'CONCAT("/request/", `' . self::TABLE . '`.`source`, "/", `' . self::TABLE . '`.`request__id`, "/")'
26            ),
27            'provider__$ref' => self::expression(
28                'CONCAT("/provider/", `' . self::TABLE . '`.`source`, "/", `' . self::TABLE . '`.`provider__id`, "/")'
29            )
30        ];
31    }
32
33    public function addConditionRequestId($requestId)
34    {
35        $this->query->where(self::TABLE . '.request__id', '=', $requestId);
36        return $this;
37    }
38
39    public function addConditionProviderId($providerId)
40    {
41        $this->query->where(self::TABLE . '.provider__id', '=', $providerId);
42        return $this;
43    }
44
45    public function addConditionBookable()
46    {
47        $this->query->where(self::TABLE . '.bookable', '=', 1);
48        return $this;
49    }
50
51    public function addConditionSource($sourceName)
52    {
53        $this->query->where(self::TABLE . '.source', '=', $sourceName);
54        return $this;
55    }
56}