Php 无法保存数据

Php 无法保存数据,php,laravel,forms,invoice,Php,Laravel,Forms,Invoice,我试图在数据库中保存任何发票卡,但未保存 我的代码出了什么问题,我试图搜索来解决这个问题,但没有解决 数据库总是空的 控制器 使用AdminLte模板中的Boostrap 3 <?php namespace App\Http\Controllers; use App\Kwitansi; use Illuminate\Http\Request; use Haruncpi\LaravelIdGenerator\IdGenerator; class KwitansiController

我试图在数据库中保存任何发票卡,但未保存

我的代码出了什么问题,我试图搜索来解决这个问题,但没有解决

数据库总是空的

控制器

使用AdminLte模板中的Boostrap 3

<?php

namespace App\Http\Controllers;

use App\Kwitansi;
use Illuminate\Http\Request;
use Haruncpi\LaravelIdGenerator\IdGenerator;

class KwitansiController extends Controller
{
    public function __construct()
    {
        $this->middleware('auth');
    }

    public function index()
    {
        $kwitansi = Kwitansi::get();
        return view('user.formkwitansi', ['kwitansi' => $kwitansi]);
    }

    public function store(Request $request)
    {
        $kwitansi = new Kwitansi;

        $id = IdGenerator::generate(['table' => 'kwitansis', 'length' => 10, 'prefix' =>'PM-INV-']);
        $kwitansi->received = $request->received;
        $kwitansi->registration = $request->registration;
        $kwitansi->course = $request->course;
        $kwitansi->trasnportation = $request->trasnportation;
        $kwitansi->payment = $request->payment;
        $kwitansi->kota = $request->kota;
        $kwitansi->register_at = $request->register_at;

      $request->validate([
        'sum_rp' => 'required',
        'sum_text' => 'required',
      ]);

      $sum_rp = $request->registration + $request->course + $request->transportation;

      function penyebut($nilai) {
        $nilai = abs($nilai);
        $huruf = array("", "satu", "dua", "tiga", "empat", "lima", "enam", "tujuh", "delapan", "sembilan", "sepuluh", "sebelas");
        $temp = "";
        if ($nilai < 12) {
            $temp = " ". $huruf[$nilai];
        } else if ($nilai <20) {
            $temp = penyebut($nilai - 10). " belas";
        } else if ($nilai < 100) {
            $temp = penyebut($nilai/10)." puluh". penyebut($nilai % 10);
        } else if ($nilai < 200) {
            $temp = " seratus" . penyebut($nilai - 100);
        } else if ($nilai < 1000) {
            $temp = penyebut($nilai/100) . " ratus" . penyebut($nilai % 100);
        } else if ($nilai < 2000) {
            $temp = " seribu" . penyebut($nilai - 1000);
        } else if ($nilai < 1000000) {
            $temp = penyebut($nilai/1000) . " ribu" . penyebut($nilai % 1000);
        } else if ($nilai < 1000000000) {
            $temp = penyebut($nilai/1000000) . " juta" . penyebut($nilai % 1000000);
        } else if ($nilai < 1000000000000) {
            $temp = penyebut($nilai/1000000000) . " milyar" . penyebut(fmod($nilai,1000000000));
        } else if ($nilai < 1000000000000000) {
            $temp = penyebut($nilai/1000000000000) . " trilyun" . penyebut(fmod($nilai,1000000000000));
        }     
        return $temp;
    }
    function terbilang($nilai) {
        if($nilai<0) {
            $hasil = "minus ". trim(penyebut($nilai));
        } else {
            $hasil = trim(penyebut($nilai));
        }           
        return $hasil;
    }
    $sum_text = $request->sum_rp;

    $kwitansi->sum_rp = $sum_rp;
    $kwitansi->sum_text = terbilang($sum_text);

    $kwitansi->save();

    return redirect('kwitansi')->withSuccess('Added Succesfully');
    }
}

从模型中删除以下行:

protected $primarykey = 'id';

public $increment = false;

protected $keyType = 'string';

好的,谢谢大家的帮助,我已经解决了这个问题

我只删除了控制器上的一些功能,并且对我有用

$request->validate([
        'sum_rp' => 'required',
        'sum_text' => 'required',
      ]);

      $sum_rp = $request->registration + $request->course + $request->transportation;

      function penyebut($nilai) {
        $nilai = abs($nilai);
        $huruf = array("", "satu", "dua", "tiga", "empat", "lima", "enam", "tujuh", "delapan", "sembilan", "sepuluh", "sebelas");
        $temp = "";
        if ($nilai < 12) {
            $temp = " ". $huruf[$nilai];
        } else if ($nilai <20) {
            $temp = penyebut($nilai - 10). " belas";
        } else if ($nilai < 100) {
            $temp = penyebut($nilai/10)." puluh". penyebut($nilai % 10);
        } else if ($nilai < 200) {
            $temp = " seratus" . penyebut($nilai - 100);
        } else if ($nilai < 1000) {
            $temp = penyebut($nilai/100) . " ratus" . penyebut($nilai % 100);
        } else if ($nilai < 2000) {
            $temp = " seribu" . penyebut($nilai - 1000);
        } else if ($nilai < 1000000) {
            $temp = penyebut($nilai/1000) . " ribu" . penyebut($nilai % 1000);
        } else if ($nilai < 1000000000) {
            $temp = penyebut($nilai/1000000) . " juta" . penyebut($nilai % 1000000);
        } else if ($nilai < 1000000000000) {
            $temp = penyebut($nilai/1000000000) . " milyar" . penyebut(fmod($nilai,1000000000));
        } else if ($nilai < 1000000000000000) {
            $temp = penyebut($nilai/1000000000000) . " trilyun" . penyebut(fmod($nilai,1000000000000));
        }     
        return $temp;
    }
    function terbilang($nilai) {
        if($nilai<0) {
            $hasil = "minus ". trim(penyebut($nilai));
        } else {
            $hasil = trim(penyebut($nilai));
        }           
        return $hasil;
    }
    $sum_text = $request->sum_rp;

    $kwitansi->sum_rp = $sum_rp;
    $kwitansi->sum_text = terbilang($sum_text);

$request->validate([
'sum_rp'=>'required',
'sum_text'=>'required',
]);
$sum_rp=$request->registration+$request->course+$request->transportation;
函数penyebut($nilai){
$nilai=abs($nilai);
$huruf=数组(“,”satu“,”dua“,”tiga“,”empat“,”lima“,”enam“,”tujuh“,”delapan“,”sembilan“,”sepuluh“,”sebelas“);
$temp=“”;
如果($nilai<12){
$temp=”“.$huruf[$nilai];
}否则,如果($nilai sum\u rp=$sum\u rp;
$kwitansi->sum_text=terbilang($sum_text);

仅删除此函数并将其添加到Helper类中

请显示您的Kwitansi模型。首先,您有许多不必要的代码,例如您可以执行此操作:$kwitansiData=$request->Only(['received','registration',…]);Kwitansi::create($kwitansiData);您可以在保存之前转储Kwitansi数据,而不是逐个填充数据()方法以查看您创建的kwitansi对象中是否有任何数据,或者我将尝试使用notOk@HassanShojaei@QumberRizvi这是My Model如果此行删除了ID为0且无法再添加任何数据,则可以从数据库本身修改自动增量值。对于MySQL:
ALTER TABLE tbl auto_increment=5;
如果这不适用于you,我想看看您的table
kwitansis
的表格结构。
$request->validate([
        'sum_rp' => 'required',
        'sum_text' => 'required',
      ]);

      $sum_rp = $request->registration + $request->course + $request->transportation;

      function penyebut($nilai) {
        $nilai = abs($nilai);
        $huruf = array("", "satu", "dua", "tiga", "empat", "lima", "enam", "tujuh", "delapan", "sembilan", "sepuluh", "sebelas");
        $temp = "";
        if ($nilai < 12) {
            $temp = " ". $huruf[$nilai];
        } else if ($nilai <20) {
            $temp = penyebut($nilai - 10). " belas";
        } else if ($nilai < 100) {
            $temp = penyebut($nilai/10)." puluh". penyebut($nilai % 10);
        } else if ($nilai < 200) {
            $temp = " seratus" . penyebut($nilai - 100);
        } else if ($nilai < 1000) {
            $temp = penyebut($nilai/100) . " ratus" . penyebut($nilai % 100);
        } else if ($nilai < 2000) {
            $temp = " seribu" . penyebut($nilai - 1000);
        } else if ($nilai < 1000000) {
            $temp = penyebut($nilai/1000) . " ribu" . penyebut($nilai % 1000);
        } else if ($nilai < 1000000000) {
            $temp = penyebut($nilai/1000000) . " juta" . penyebut($nilai % 1000000);
        } else if ($nilai < 1000000000000) {
            $temp = penyebut($nilai/1000000000) . " milyar" . penyebut(fmod($nilai,1000000000));
        } else if ($nilai < 1000000000000000) {
            $temp = penyebut($nilai/1000000000000) . " trilyun" . penyebut(fmod($nilai,1000000000000));
        }     
        return $temp;
    }
    function terbilang($nilai) {
        if($nilai<0) {
            $hasil = "minus ". trim(penyebut($nilai));
        } else {
            $hasil = trim(penyebut($nilai));
        }           
        return $hasil;
    }
    $sum_text = $request->sum_rp;

    $kwitansi->sum_rp = $sum_rp;
    $kwitansi->sum_text = terbilang($sum_text);