Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 30.05.2016 16:16:32

Модель вызывается несколько раз

Приветствую!
Ломаю голову над некоторой проблемой, помогите, если сможете smile

Мой роут:

Route::group(['middleware' => ['web']], function () {
    Route::get('/getEAN13', 'CoreController@getEan13Code');
});

Мой метод getEan13Code:

public function getEan13Code() {
        $lastSkipCode = Skipcode::orderBy('id', 'DESC')->first();
        $newSkipCode  = '';
        $newSkipCode = (count($lastSkipCode) == '')? $this->startSkipCode : $lastSkipCode['dec_number'] + 256;
        $currentDate    = date('Y-m-d H:i:s');
        $hexNumber      = $this->fromDecToHex($newSkipCode);
        $sc             = new Skipcode;
        $sc->dec_number = $newSkipCode;
        $sc->hix_number = $hexNumber;
        $sc->created_at = $currentDate;
        $sc->updated_at = $currentDate;
        $sc->save();
        $controlSum     = '|4';
        return view('pages.result')->with(['x' => $controlSum]);
    }

После обращения по адресу http://site.tu/getEan13Code в базу данных заносится почему-то 3 значения
Я голову сломал уже, не могу понять в чем дело. Если у модели Skipcode глянуть конструктор, он тоже вызывается три раза. В чем может быть причина??? Значения заносятся именно с разницей в 256 (это число я прибавляю)
Если сделать значение $newSkipCode статическим (т.е. не прибавлять к нему ничего, а просто назначить один раз значение) в таблицу заносится одно значение.
Спасите пожалуйста
Благодарю за ответы smile

Не в сети

#2 30.05.2016 17:55:47

Re: Модель вызывается несколько раз

1. что за тип поля в бд?
2. стринг+стринг+стринг=стринг, не? если таки "не", то сделай dd(gettype($newSkipCode)) и убедись, что стринг.
3. ты серьёзно?!

(count($lastSkipCode) == '')

Не в сети

#3 30.05.2016 21:05:30

Re: Модель вызывается несколько раз

hzone пишет:

1. что за тип поля в бд?

Тип varchar

hzone пишет:

2. стринг+стринг+стринг=стринг, не? если таки "не", то сделай dd(gettype($newSkipCode)) и убедись, что стринг.

Проверил, все стринг

hzone пишет:

3. ты серьёзно?!

Это невнимательность и это никак не влияет на повторную вставку данных и вызов модели несколько раз sad

Еще маленькая деталь. Когда просматриваешь вкладку Queries у дебагера отображается так же, что выполнялся только 2 запроса: 1. запрос на получение последнего Skipcode и 2. вставка нового Skipcode только с одной строкой

Изменено Himu (30.05.2016 21:11:31)

Не в сети

#4 09.06.2016 11:09:30

Re: Модель вызывается несколько раз

Вопрос решился достаточно просто: на firefox'е стояли плагины, которые выполняли свои собственные запросы к странице

Не в сети

Подвал раздела