Addr   A
last analyzed

Complexity

Total Complexity 3

Size/Duplication

Total Lines 37
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
eloc 24
dl 0
loc 37
rs 10
c 0
b 0
f 0
wmc 3

1 Method

Rating   Name   Duplication   Size   Complexity  
A read() 0 30 3
1
<?php
2
3
namespace FamilyTree365\LaravelGedcom\Utils\Exporter;
4
5
use FamilyTree365\LaravelGedcom\Models\Addr as MAddr;
6
7
class Addr
8
{
9
    /**
10
     * Gedcom\Record\Refn $noteref
11
     * String $group
12
     * Integer $group_id.
13
     */
14
    public static function read($conn, $addr)
15
    {
16
        $id = null;
17
        if ($addr == null) {
18
            return $id;
19
        }
20
        $adr1 = $addr->getAdr1();
21
        $adr2 = $addr->getAdr2();
22
        $city = $addr->getCity();
23
        $stae = $addr->getStae();
24
        $post = $addr->getPost();
25
        $ctry = $addr->getCtry();
26
27
        $addr = MAddr::on($conn)->where([
28
            ['adr1', '=', $adr1],
29
            ['adr2', '=', $adr2],
30
            ['city', '=', $city],
31
32
            ['stae', '=', $stae],
33
            ['post', '=', $post],
34
            ['ctry', '=', $ctry],
35
        ])->first();
36
        if ($addr !== null) {
37
            $id = $addr->id;
38
        } else {
39
            $addr = MAddr::on($conn)->create(compact('adr1', 'adr2', 'city', 'stae', 'post', 'ctry'));
40
            $id = $addr->id;
41
        }
42
43
        return $id;
44
    }
45
}
46