Completed
Push — master ( 0a5559...34b953 )
by Patrick
11:12 queued 04:11
created

Aliases::string()

Size

Total Lines 1

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
c 1
b 0
f 0
dl 0
loc 1
nc 1
1
<?php
2
3
namespace LaravelDoctrine\Fluent\Builders\Traits;
4
5
use LaravelDoctrine\Fluent\Builders\Field;
6
7
trait Aliases
8
{
9
    /**
10
     * @param string        $name
11
     * @param callable|null $callback
12
     *
13
     * @return Field
14
     */
15
    public function increments($name, callable $callback = null)
16
    {
17
        $this->disallowInEmbeddedClasses();
18
19
        return $this->integer($name, $callback)->primary()->unsigned()->autoIncrement();
20
    }
21
22
    /**
23
     * @param string        $name
24
     * @param callable|null $callback
25
     *
26
     * @return Field
27
     */
28
    public function smallIncrements($name, callable $callback = null)
29
    {
30
        $this->disallowInEmbeddedClasses();
31
32
        return $this->smallInteger($name, $callback)->primary()->unsigned()->autoIncrement();
33
    }
34
35
    /**
36
     * @param string        $name
37
     * @param callable|null $callback
38
     *
39
     * @return Field
40
     */
41
    public function bigIncrements($name, callable $callback = null)
42
    {
43
        $this->disallowInEmbeddedClasses();
44
45
        return $this->bigInteger($name, $callback)->primary()->unsigned()->autoIncrement();
46
    }
47
48
    /**
49
     * @param string        $name
50
     * @param callable|null $callback
51
     *
52
     * @return Field
53
     */
54
    public function unsignedSmallInteger($name, callable $callback = null)
55
    {
56
        return $this->smallInteger($name, $callback)->unsigned();
57
    }
58
59
    /**
60
     * @param string        $name
61
     * @param callable|null $callback
62
     *
63
     * @return Field
64
     */
65
    public function unsignedInteger($name, callable $callback = null)
66
    {
67
        return $this->integer($name, $callback)->unsigned();
68
    }
69
70
    /**
71
     * @param string        $name
72
     * @param callable|null $callback
73
     *
74
     * @return Field
75
     */
76
    public function unsignedBigInteger($name, callable $callback = null)
77
    {
78
        return $this->bigInteger($name, $callback)->unsigned();
79
    }
80
81
    /**
82
     * @param string        $name
83
     * @param callable|null $callback
84
     *
85
     * @return Field
86
     */
87
    public function rememberToken($name = 'rememberToken', callable $callback = null)
88
    {
89
        return $this->string($name, $callback)->nullable()->length(100);
90
    }
91
92
    /**
93
     * @param  string          $message
94
     * @throws \LogicException
95
     */
96
    abstract protected function disallowInEmbeddedClasses($message = "");
97
98
    /**
99
     * @param string        $name
100
     * @param callable|null $callback
101
     *
102
     * @return Field
103
     */
104
    abstract public function integer($name, callable $callback = null);
105
106
    /**
107
     * @param string        $name
108
     * @param callable|null $callback
109
     *
110
     * @return Field
111
     */
112
    abstract public function smallInteger($name, callable $callback = null);
113
114
    /**
115
     * @param string        $name
116
     * @param callable|null $callback
117
     *
118
     * @return Field
119
     */
120
    abstract public function bigInteger($name, callable $callback = null);
121
122
    /**
123
     * @param string        $name
124
     * @param callable|null $callback
125
     *
126
     * @return Field
127
     */
128
    abstract public function string($name, callable $callback = null);
129
}
130