在 Laravel 导入中验证 excel 文件时不显示消息

问题描述

我在 Laravel 中使用 excel 3.1 来导入 excel 文件。我已经包含了对 name 字段的验证。因此,每当名称字段复制时,它都不会将该行数据导入数据库。到这里一切正常。但问题是我想在控制器中显示成功消息。但是该消息没有显示,也没有显示任何其他错误消息。 这是我的导入功能

namespace App\Imports;

use App\Products;
use Maatwebsite\Excel\Concerns\ToModel;
use Maatwebsite\Excel\Concerns\WithStartRow;
use Maatwebsite\Excel\Concerns\SkipsOnError;
use Maatwebsite\Excel\Concerns\SkipsErrors;
use Maatwebsite\Excel\Concerns\Importable;
use App\Categories;
use App\Brand;
use App\Unit;
use Maatwebsite\Excel\Concerns\WithValidation;
// use Illuminate\Validation\Rule;
// use Throwable;
class ExcelImport implements ToModel,WithStartRow,WithValidation,SkipsOnError
{
    use Importable,SkipsErrors;
    /**
    * @param array $row
    *
    * @return \Illuminate\Database\Eloquent\Model|null
    */
    public function model(array $row)
    {
        $name = $row[0];
        $des = $row[1];
        
      
            $product = new Products([
                'name' => $row[0],'description' => $row[1],]);
            return $product;
       }

    
    public function startRow(): int
    {
        return 2;
    }
    public function rules(): array{
        return[
            '0' => 'unique:products,name',];
    }

    
}

这是我的控制器

public function uploadfile(Request $request)
    {
        $this->validate($request,[
            'file' => 'required',]);

        if($request->hasfile('file'))
        {
            
            foreach($request->file('file') as $file)
            {
               
                $import = new ExcelImport;
                $import = $import->import($file);
                
            }
         //if the import is successful then I want to show some messages here
        }
            
        else{
            return back()->with('error','File contains invalid data. Please upload a valid file.');
        }
    }

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)