Code Duplication    Length = 25-28 lines in 2 locations

src/services/traits/ModelById.php 1 location

@@ 57-81 (lines=25) @@
54
     * @param string|null $toScenario
55
     * @return ModelWithId|null
56
     */
57
    public function findById(int $id, string $toScenario = null)
58
    {
59
60
        // Check cache
61
        if (!$model = $this->findCacheById($id)) {
62
63
            // Find record in db
64
            if ($record = $this->findRecordById($id)) {
65
66
                $model = $this->findByRecord($record, $toScenario);
67
68
            } else {
69
70
                $this->_cacheById[$id] = null;
71
72
                return null;
73
74
            }
75
76
        }
77
78
        return $model;
79
80
    }
81
82
    /**
83
     * @param int $id
84
     * @param string|null $toScenario

src/services/traits/ObjectById.php 1 location

@@ 41-68 (lines=28) @@
38
     * @param string|null $toScenario
39
     * @return BaseObject|null
40
     */
41
    public function findById(int $id, string $toScenario = null)
42
    {
43
44
        // Check cache
45
        if (!$object = $this->findCacheById($id)) {
46
47
            // Find record in db
48
            if ($record = $this->findRecordByCondition(
49
                ['id' => $id]
50
            )
51
            ) {
52
53
                // Perhaps in cache
54
                $object = $this->findByRecord($record, $toScenario);
55
56
            } else {
57
58
                $this->_cacheById[$id] = null;
59
60
                return null;
61
62
            }
63
64
        }
65
66
        return $object;
67
68
    }
69
70
    /**
71
     * @param int $id