微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决在 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 举报,一经查实,本站将立刻删除。