我能够在这个thread上解决我最初的错误,但我的新问题,使用相同的代码,是它没有提供页面上的错误如果验证失败,它抛出500错误(APP_DUBUG设置为FALSE),但当APP_DEBUG设置为TRUE时,我得到一个错误页面,带有...Integrity constraint violation: 1062 Duplicate entry....

我正在try 解决的是如何使错误消息出现在@error

Workorders/Edit.php

...
public function cloneWorkorder($id)
{

    $this->validate([
        'new_workorder_number' => 'required|unique:workorders,id|min:4',
    ]);

    //dd($this->new_workorder_number);
    $startingInvoiceNumber = 109000;
    $record = Workorder::find($id);
    $count = count(Workorder::withTrashed()->get());
    $wo = $startingInvoiceNumber+$count;

    $gen = Gentype::where('genable_id', $record->id)->where('genable_type', 'App\Models\Workorder')->get();
    $billto = $gen->where('generator_type', 'Bill To')->pluck('generator_id')[0];
    $generator = $gen->where('generator_type', 'Generator')->pluck('generator_id')[0];
    $b = Generator::find($billto);
    $g = Generator::find($generator);

    if(count($gen) < 2) {
        session()->flash('failed-message', 'You need both a Billto and Generator in order to clone this workorder');
        return redirect()->route('workorder.edit', $record->id);

    } else {

        Workorder::create([
            'workorder_number' => $this->new_workorder_number,
            'workorder_date' => date('Y-m-d'),
            'workorder_invoice_number' => $startingInvoiceNumber + $count,
            'site_contact_name' => $record->site_contact_name,
            'site_contact_email' => $record->site_contact_email,
            'site_contact_phone' => $record->site_contact_phone,
            'office' => $record->office,
            'creator' => Auth::user()->name,
            'department' => Auth::user()->department,
        ]);

        $latestWorkorder = Workorder::latest('id')->first()->id;
        $newWorkorder = Workorder::find($latestWorkorder);
        //dd($newWorkorder);

        Gentype::create([
            'generator_id' => $b->id,
            'generator_type' => 'Bill To',
            'genable_id' => $newWorkorder->id,
            'genable_type' => 'App\Models\Workorder',
        ]);

        Gentype::create([
            'generator_id' => $g->id,
            'generator_type' => 'Generator',
            'genable_id' => $newWorkorder->id,
            'genable_type' => 'App\Models\Workorder',
        ]);

        $newWorkorder->update([
            'static_billto' => $b->generator_name,
            'static_generator' => $g->generator_name
        ]);

    }

    return redirect()->route('workorder.edit', $newWorkorder->id);


}
...

edit.blade.php

...
<div class="flex-1 mr-2">
        <input id="new_workorder_number"
               wire:model.defer="new_workorder_number"
               placeholder="New Work Order Number">
        @error('new_workorder_number')
            <span class="mt-2 text-sm text-red-600">{{ $message }}</span>
        @enderror
</div>
...

error

SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '447747' for key 'workorders.workorders_workorder_number_unique'

推荐答案

问题来自workorder_number,因为它应该是unique,所以要为该列添加验证,您只需修复验证,如下所示

$this->validate([
  'new_workorder_number' => 'required|unique:workorders,workorder_number|min:4',
]);

Php相关问答推荐

仅显示特定WooCommerce产品类别的额外产品字段

邮箱打开跟踪器不工作时发送邮件使用laravel调度程序

如何使用URL链接(mdl)切换选项卡

msgraph-sdk-php v2如何传递skiptoken到request?

WooCommerce基于元数据的自定义范围目录排序

获取要删除的图像的公共ID

将购买限制在WooCommerce中具有相同产品属性的项目

为什么在我的PHP联系人脚本中开机自检后出现未定义变量错误?

在PHP中,如何将介于0和1之间(包括0和1)的浮点概率转换为数组索引?

Woocommerce 仅在前端为登录用户提供价格折扣

有没有办法像引用枚举一样引用注册表中的对象?

invalid_grant 和无效的 JWT 签名

Docker-用于部署的 PHP 应用程序映像无法在本地运行

PHP 中使用 JSON 的自定义会话处理程序会因错误而 destruct 会话

从图像URL中获取文件扩展名?

yii2 sql迁移覆盖新更改的记录

Shopware 6:无法在新的自定义插件中保存关联字段(媒体)

我怎样才能在 .htaccess 中有 2 个参数?

PHP Remedy API 调用以创建附件无效的条目(使用 Postman Works!)

服务器发送的事件:EventSource 抛出 MIME 错误