Completed
Push — master ( 78f962...a745ae )
by Anton
21s
created

Query::explanation()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 1
c 0
b 0
f 0
nc 1
nop 0
dl 0
loc 3
rs 10
1
<?php
2
3
/*
4
 * This file is part of Laravel Sense.
5
 *
6
 * (c) Anton Komarev <[email protected]>
7
 *
8
 * For the full copyright and license information, please view the LICENSE
9
 * file that was distributed with this source code.
10
 */
11
12
declare(strict_types=1);
13
14
namespace Cog\Laravel\Sense\Db\Query\Models;
15
16
use Cog\Laravel\Sense\Db\QueryExplanation\Models\QueryExplanation;
17
use Cog\Laravel\Sense\Request\Models\Request;
18
use Cog\Laravel\Sense\Statement\Models\Statement;
19
use Illuminate\Database\Eloquent\Model;
20
use Illuminate\Database\Eloquent\Relations\BelongsTo;
21
use Illuminate\Database\Eloquent\Relations\HasOne;
22
23
class Query extends Model
24
{
25
    protected $connection = 'sense';
26
27
    protected $table = 'sense_request_db_queries';
28
29
    protected $fillable = [
30
        'statement_id',
31
        'connection',
32
        'sql',
33
        'bindings',
34
        'time',
35
    ];
36
37
    protected $casts = [
38
        'bindings' => 'json',
39
    ];
40
41
    public function request(): BelongsTo
42
    {
43
        return $this->belongsTo(Request::class, 'request_id');
44
    }
45
46
    public function statement(): BelongsTo
47
    {
48
        return $this->belongsTo(Statement::class, 'statement_id');
49
    }
50
51
    public function explanation(): HasOne
52
    {
53
        return $this->hasOne(QueryExplanation::class, 'query_id');
54
    }
55
}
56