Генерация автоматического увеличения числа с префиксом Laravel - PullRequest
0 голосов
/ 29 октября 2018

У меня есть таблица с именем product.The таблица продуктов Состоит из поля productcode и при добавлении товара мне нужно сгенерировать код как PRO-1, PRO-2, PRO-3 в последовательности для поля кода товара, и его необходимо загрузить в виде

1 Ответ

0 голосов
/ 29 октября 2018

Я создал функцию в моей модели продукта и успешно сделал это

public static function generateSeriesNumberWithPrefix($tableName = '', $autogenField = '', $autogenStart = '', $autogenPrefix = '')
    {
        $listFiledValues = DB::table($tableName)->select($autogenField)->get();
        if ($listFiledValues->isEmpty())
        {
            $generatedAutogen = $autogenPrefix.$autogenStart;
            return $generatedAutogen;
        }
        elseif ($listFiledValues->isNotEmpty())
        {
            foreach($listFiledValues as $listFiledValue)
            {
                $eachListarray = $listFiledValue->$autogenField;
                $totalListArrays[] = $eachListarray;
            }
            foreach($totalListArrays as $totalListArray)
            {
                $stringRemovedEachListArray = substr($totalListArray,strlen($autogenPrefix));
                $stringRemovedTotalListArray[] = $stringRemovedEachListArray;
            }
            $maximumValue = max($stringRemovedTotalListArray);
            $generatedAutogen = $autogenPrefix.++$maximumValue;
            return $generatedAutogen;
        }
    }

И, наконец, в функции создания

public function create ()
    {
    $autogen = Product::generateSeriesNumberWithPrefix('product','autogen','1','PRO-');
    return view('product.formadd', compact('result','sequence'));           
    }

Я использую конструктор форм Laravel, чтобы

{!! Form::text('productcode', $autogen, null, ['class' => 'form-group']) !!}

здесь generateSeriesNumberWithPrefix - это имя функции и Product is a Model Name

Главное преимущество этой функции в том, что она не зависит от других полей, таких как created_at или значения Max в primary key, это автономная функция

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...