我有名为productcode字段的product.The产品表Consistis的表,在添加产品时,我需要在产品代码字段的序列中将代码概括为PRO-1、PRO-2、PRO-3,并且必须以表单加载它。
发布于 2018-10-29 08:59:18
我已经在我的产品模型中创建了这个功能,并且成功地做到了这一点。
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或primary key中的最大值,它是独立的函数。
https://stackoverflow.com/questions/53041811
复制相似问题