在 Laravel 中使用数字前缀和其他字符串前缀制作代码

     2023-02-22     186

关键词:

【中文标题】在 Laravel 中使用数字前缀和其他字符串前缀制作代码【英文标题】:Make a code with number prefix and other string prefix in Laravel 【发布时间】:2020-10-20 07:08:27 【问题描述】:

我必须为交易编号制定格式,格式示例是BKK-202009-00001。将自动递增的数字 00001。我已经尝试过,但没有得到预期的输出。

编码

public function createBefore($model, $arrayData, $metaData, $id=null) 

    //$arrayData["no_draft"] = $this->custom_getdraftid(null);
    $prefix = 'BBK';
  
    if ($arrayData['payment_type']=='CASH') 
        $prefix='BKK';
     elseif ($arrayData['payment_type']=='GIRO') 
        $prefix='BGK';
    
    ff($prefix);
    $no_transaction = \DB::table('acc_tra_cash_bank_expenses_header')
    ->selectRaw(" '$prefix' || '-' ||to_char(CURRENT_DATE, 'YYYYMM')||'-'||RIGHT('0000'||(
                            RIGHT( (SELECT no_transaction FROM acc_tra_cash_bank_expenses_header WHERE no_transaction LIKE '$prefix'||to_char(CURRENT_DATE, 'YYYYMM')||'%'
                                        ORDER BY id DESC LIMIT 1),5)::INTEGER+1)::TEXT,5) AS no_transaction")->first();
    ff($no_transaction->no_transaction);
    if (!$no_transaction) 
        $bulantanggal = date('Ym');
        $no_transaction->no_transaction = "$prefix-$bulantanggal-00001";
    
    
    $newModel = $model;
    $newArrayData  = array_merge($arrayData, [
       'no_draft'=> $this->custom_getdraftid(null),
        'no_transaction' => $no_transaction->no_transaction
    ]);
    return [
        "model"  => $newModel,
        "data"   => $newArrayData,
    ];

【问题讨论】:

00001,它是来自像id 这样的任何地方,还是你必须自己增加它?? 不要从任何地方增加它 您要添加多少个零?比如如果数字是 1000 或 99 或 99999,那么预期的输出是什么?? 00001 四个零如果数字 1000 01000 你说你没有得到预期的输出,但你没有分享你得到的结果。与我们分享您所看到的非常有帮助。 【参考方案1】:

如果我对您的理解正确,您需要像BKK-202009-00001 这样带有递增数字的格式。一个解决方案就像

$string = 'BKK-202009-00001'; //the last entry from the database
$number = last(explode("-",$string)); //explode the string to get the number part, last is a laravel helper
$new = str_pad(intval($number) + 1, 5, 0, STR_PAD_LEFT); //increment the number by 1 and pad with 0 in left.

$no_transaction->no_transaction = $prefix.'-'.$bulantanggal.'-'.$new; //concat string and number to generate the desired output

【讨论】:

我得到错误explode()期望参数2是给定的字符串对象 你通过什么来代替$string爆炸??你必须传递一个对象属性而不是对象本身。 查询构建器 $no_transaction = \DB::table('acc_tra_cash_bank_expenses_header') ->selectRaw(" '$prefix' || '-' ||to_char(CURRENT_DATE, 'YYYYMM')|| '-'||RIGHT('0000'||( RIGHT( (SELECT no_transaction FROM acc_tra_cash_bank_expenses_header WHERE no_transaction LIKE '$prefix'||to_char(CURRENT_DATE, 'YYYYMM')||'%' ORDER BY id DESC LIMIT 1), 5)::INTEGER+1)::TEXT,5) AS no_transaction")->first(); 点赞$no_transaction->no_transaction 你能告诉我$no_transaction->no_transaction是什么吗??以及当前生成的输出是什么??

如何在 Laravel 中使用正则表达式路由前缀?

】如何在Laravel中使用正则表达式路由前缀?【英文标题】:HowtoUseRegextoRoutePrefixinLaravel?【发布时间】:2019-04-0407:04:33【问题描述】:简介:我有一个带有动态前缀的自定义路由组:Route::prefix(\'nickname\')->group(function()Route::get(\'/... 查看详情

在 laravel 中使用前缀后,asset('assets') 返回错误的目录

】在laravel中使用前缀后,asset(\\\'assets\\\')返回错误的目录【英文标题】:asset(\'assets\')returntowrongdirectoryafterusingprefixinlaravel在laravel中使用前缀后,asset(\'assets\')返回错误的目录【发布时间】:2019-04-2802:46:41【问题描述】:这是我... 查看详情

Laravel 4 - PHP 标签在工匠控制台和渲染页面中添加前缀

】Laravel4-PHP标签在工匠控制台和渲染页面中添加前缀【英文标题】:Laravel4-PHPtagisprefixedinartisanconsoleandrenderedpages【发布时间】:2018-09-1814:35:39【问题描述】:我的项目有这个奇怪的问题。当我使用工匠命令时,例如:phpartisan-v<... 查看详情

在 Laravel 中添加前缀路由名称而不添加前缀 URI

】在Laravel中添加前缀路由名称而不添加前缀URI【英文标题】:PrefixroutenamewithoutprefixingURIinLaravel【发布时间】:2014-09-2906:22:03【问题描述】:我有两个命名空间\'Front\'和\'Admin\'。对于\'Admin\'命名空间,所有路径都以admin.conrtoller.ac... 查看详情

如何使用 SQL Regex 从具有特定前缀的字符串中提取数字?

】如何使用SQLRegex从具有特定前缀的字符串中提取数字?【英文标题】:HowdoIextractadigitfromastringwithaspecificprefixusingSQLRegex?【发布时间】:2018-01-2119:24:55【问题描述】:我有一个这样的字符串存储在Redshift表列(event_attribute_value)中:... 查看详情

重复第 n 个数字直到第 n 个匹配,同时使用 awk sub 在模式中为这些数字添加前缀

...间】:2021-12-1508:44:26【问题描述】:下面的文件包含15次字符串.dog。通常,当我想在字符串中添加任何数字以进行计数时,我会使用awk\'/\\.dog/sub( 查看详情

Laravel 8.x 顺风前缀

】Laravel8.x顺风前缀【英文标题】:Laravel8.xTailwindPrefix【发布时间】:2021-11-1918:59:17【问题描述】:Tailwind允许在tailwind.config.js中设置前缀。Referencehere.我正在开发一个同时使用Bootstrap和Tailwind的Laravel项目,由npm管理。我为Tailwind... 查看详情

为啥我不能在字符串前使用@$ 前缀?

】为啥我不能在字符串前使用@$前缀?【英文标题】:Whycan\'tIuse@$prefixbeforestrings?为什么我不能在字符串前使用@$前缀?【发布时间】:2019-01-3110:16:06【问题描述】:所有这些字符串前缀在C#中都是合法的:"text"@"text"$"text"$@"text"为... 查看详情

Laravel 5 多语言网站,网址中带有语言前缀

】Laravel5多语言网站,网址中带有语言前缀【英文标题】:Laravel5multilanguagesitewithlanguageprefixintheurl【发布时间】:2016-06-0501:51:01【问题描述】:所以我需要在网站上使用多种语言,网址如下:mysite/en/languagemysite/it/languagemysite/es/lan... 查看详情

如何在 Laravel 5 中为表使用全局前缀

】如何在Laravel5中为表使用全局前缀【英文标题】:HowtouseglobalprefixfortablesinLaravel5【发布时间】:2016-09-3006:19:34【问题描述】:Laravel中的新功能。可能是一个愚蠢的问题。我有这样的设置数据库:\'mysql\'=>[\'driver\'=>\'mysql\',\'... 查看详情

Laravel 5.0.* 中间件在处理路由之前从 url 中删除前缀语言环境

】Laravel5.0.*中间件在处理路由之前从url中删除前缀语言环境【英文标题】:Laravel5.0.*middlewaretoremoveprefixlocalefromurlbeforeroutesareprocessed【发布时间】:2016-04-2406:38:26【问题描述】:我正在寻找一种方法,使所有应用程序路由具有多... 查看详情

在 SSE 中组合前缀

...中066h在32位(或64位)和16位操作之间切换。0F2h和0F3h用于字符串操作。它们可以组合在一起,以便066h和0F2h(或0F3h)可以在同一条指令中使用,因为这是有意义的。 查看详情

bash,emacs绑定的数字前缀?

...间】:2010-02-1406:57:28【问题描述】:是否可以在bashshell中使用带有数字参数的emacs绑定,例如在emacs中C-u5C-d删除五个字符。在bash提示符下是否有等效的方法?谢谢【问题讨论】:【参考方案1】:Emacs通常是默认的编辑模式(set-oema... 查看详情

Laravel cviebrock/eloquent-sluggable 将 @ 作为前缀或在路由中过滤它

】Laravelcviebrock/eloquent-sluggable将@作为前缀或在路由中过滤它【英文标题】:Laravelcviebrock/eloquent-sluggableput@asprefixorfilteritinroute【发布时间】:2020-11-1319:33:25【问题描述】:Laravel7.0版本,我使用的是cviebrock/eloquent-sluggable包。我想要... 查看详情

如何在 AWS eventbridge eventpattern 的任何其他子句中使用多个前缀?

】如何在AWSeventbridgeeventpattern的任何其他子句中使用多个前缀?【英文标题】:Howtousemultipleprefixesinanything-butclauseinAWSeventbridgeeventpattern?【发布时间】:2021-05-0516:34:57【问题描述】:我有一种情况需要使用eventbridge中的eventpatterns过... 查看详情

使用 awk sub 以数字方式为字符串添加前缀而不更改计数状态最多 5 个匹配“在每行具有多个匹配项的文本文件中”

】使用awksub以数字方式为字符串添加前缀而不更改计数状态最多5个匹配“在每行具有多个匹配项的文本文件中”【英文标题】:Prefixingnumericallyastringwithoutchangecountstatusupto5matchs"Inatextfilewithmultiplesmatchsperline"usingawksub【发布... 查看详情

Laravel 根路由“/”在子域的前缀路由中不起作用

】Laravel根路由“/”在子域的前缀路由中不起作用【英文标题】:Laravelrootroute"/"doesn\'tworkinsideprefixedroutesonsubdomain【发布时间】:2020-01-0702:56:57【问题描述】:我有以下路线的项目:Route::namespace(\'Admin\')->prefix(\'admin\')-&g... 查看详情

在 ORACLE 中搜索最长前缀的最快方法

...找到与给定号码PHONE_NR匹配的最长前缀。我在字段数字上使用倒置的LIKE子句(包含+48%、+49%、+1%、+1232%等形式的前缀)。 查看详情