BelongsToCached::getResults()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 4
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 2
c 1
b 0
f 0
dl 0
loc 4
rs 10
cc 1
nc 1
nop 0
1
<?php
2
3
namespace Awssat\Kabsa\Relationships;
4
5
use Illuminate\Database\Eloquent\Builder;
6
use Illuminate\Database\Eloquent\Collection;
7
use Illuminate\Database\Eloquent\Model;
8
use Illuminate\Database\Eloquent\Relations\BelongsTo;
9
10
class BelongsToCached extends BelongsTo
11
{
12
    protected $foreignKey;
13
    protected $ownerKey;
14
    protected $related;
15
16
    public function __construct($related, Model $parent, $foreignKey = null, $ownerKey = null, $relationName = null)
17
    {
18
        $this->foreignKey = $foreignKey;
19
        $this->ownerKey = $ownerKey;
20
        $this->related = $related;
21
22
        parent::__construct((new $related)->newQuery(), $parent, $foreignKey, $ownerKey, $relationName);
23
    }
24
25
    public function getResults()
26
    {
27
        return $this->related::where($this->ownerKey,
28
            $this->parent->{$this->foreignKey})->first();
29
    }
30
}
31