【问题标题】:Parse Error : Invalid Numeric Literal in Laravel解析错误:Laravel 中的数字文字无效
【发布时间】:2017-07-19 10:44:41
【问题描述】:

我的 Laravel 应用程序中有 following error

原来错误指向以下几行:

/* August */    
$augledcrdt=Companyledger::WhereIn('frm_ledger',$ledgerlist)->whereYear('transaction_date',$curyear)->whereMonth('transaction_date',08)->where('company_id',$companyids)->sum('credit_amt');
$augleddebt=Companyledger::WhereIn('frm_ledger',$ledgerlist)->whereYear('transaction_date',$curyear)->whereMonth('transaction_date',08)->where('company_id',$companyids)->sum('debit_amt');

/* September */     
$sepledcrdt=Companyledger::WhereIn('frm_ledger',$ledgerlist)->whereYear('transaction_date',$curyear)->whereMonth('transaction_date',09)->where('company_id',$companyids)->sum('credit_amt');
$sepleddebt=Companyledger::WhereIn('frm_ledger',$ledgerlist)->whereYear('transaction_date',$curyear)->whereMonth('transaction_date',09)->where('company_id',$companyids)->sum('debit_amt');

【问题讨论】:

  • 放 '08' 而不是只放 08

标签: php laravel


【解决方案1】:

我认为您使用的是 PHP 7.0。您可以使用以下代码来执行此操作:

$augledcrdt=Companyledger::WhereIn('frm_ledger',$ledgerlist)->whereYear('transaction_date',$curyear)->whereMonth('transaction_date','08')->where('company_id',$companyids)->sum('credit_amt');
$augleddebt=Companyledger::WhereIn('frm_ledger',$ledgerlist)->whereYear('transaction_date',$curyear)->whereMonth('transaction_date','08')->where('company_id',$companyids)->sum('debit_amt');

【讨论】:

    【解决方案2】:

    如果您使用的是 PHP7,则应将 08 更改为 8

    ->whereMonth('transaction_date', 8)
    

    http://php.net/manual/en/migration70.incompatible.php#migration70.incompatible.integers

    【讨论】:

      猜你喜欢
      • 2017-04-05
      • 1970-01-01
      • 2018-03-19
      • 2019-01-04
      • 2021-07-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多