Code Duplication    Length = 20-21 lines in 2 locations

src/SortableTrait.php 2 locations

@@ 131-151 (lines=21) @@
128
     *
129
     * @return $this
130
     */
131
    public function moveOrderDown()
132
    {
133
        $orderColumnName = $this->determineOrderColumnName();
134
135
        $swapWithModel = static::limit(1)
136
            ->ordered()
137
            ->where($orderColumnName, '>', $this->$orderColumnName);
138
139
        if ($this->hasSortScope()) {
140
            $swapWithModel = $swapWithModel->where($this->determineSortScope(), $this->{$this->determineSortScope()});
141
        }
142
143
        $swapWithModel = $swapWithModel->first();
144
145
        if (! $swapWithModel) {
146
            return $this;
147
        }
148
149
        return $this->swapOrderWithModel($swapWithModel);
150
    }
151
152
    /**
153
     * Swaps the order of this model with the model 'above' this model.
154
     *
@@ 157-176 (lines=20) @@
154
     *
155
     * @return $this
156
     */
157
    public function moveOrderUp()
158
    {
159
        $orderColumnName = $this->determineOrderColumnName();
160
161
        $swapWithModel = static::limit(1)
162
            ->ordered('desc')
163
            ->where($orderColumnName, '<', $this->$orderColumnName);
164
        if ($this->hasSortScope()) {
165
            $swapWithModel = $swapWithModel->where($this->determineSortScope(), $this->{$this->determineSortScope()});
166
        }
167
168
        $swapWithModel = $swapWithModel->first();
169
170
        if (! $swapWithModel) {
171
            return $this;
172
        }
173
174
        return $this->swapOrderWithModel($swapWithModel);
175
    }
176
177
    /**
178
     * Swap the order of this model with the order of another model.
179
     *