【问题标题】:Laravel General error: 1364 Field 'user_id' doesn't have a default valueLaravel 一般错误:1364 字段 'user_id' 没有默认值
【发布时间】:2020-04-01 15:54:47
【问题描述】:

我正在尝试为用户创建文件上传选项。我有一个用户表,我创建了一个新的“文档”表并添加了 user_id 作为外键。

当我尝试上传文件时出现此错误:

"SQLSTATE[HY000]: 一般错误: 1364 字段 'user_id' 没有默认值 (SQL: insert into documents (title, file, uuid, updated_at, @ 987654326@) 值(我的文档,doc.pdf, 6c229500-7430-11ea-92c8-05ffc2487316, 2020-04-01 15:49:50, 2020-04-01 15:49:50))"

这是我的商店功能:

public function store(Request $request)
    {
        $document = $request->all();
        $document['user_id'] = User::where('id',auth()->user()->id)->first();
        $document['uuid'] = (string)Uuid::generate();
        if ($request->hasFile('file')) {
            $document['file'] = $request->file->getClientOriginalName();
            $request->file->storeAs('documents', $document['file']);
        }
        Document::create($document);
        return redirect()->route('documents.index');
    }

这是表格:

                        <form action="{{ route('documents.store') }}" method="POST" enctype="multipart/form-data">
                        @csrf

                        Title:
                        <br>
                        <input type="text" name="title" class="form-control">

                        <br>

                        File:
                        <br>
                        <input type="file" name="file">

                        <br><br>

                        <input type="submit" value=" Upload document " class="btn btn-primary">

                    </form>

知道如何解决这个问题吗?

【问题讨论】:

    标签: laravel forms one-to-many laravel-filesystem


    【解决方案1】:

    Use Auth;
    public function store(Request $request)
        {
            $document = $request->all();
            $document['user_id'] = Auth::user()->id;
            $document['uuid'] = (string)Uuid::generate();
            if ($request->hasFile('file')) {
                $document['file'] = $request->file->getClientOriginalName();
                $request->file->storeAs('documents', $document['file']);
            }
            Document::create($document);
            return redirect()->route('documents.index');
        }

    【讨论】:

    • 谢谢@sd007!
    猜你喜欢
    • 1970-01-01
    • 2020-05-25
    • 2021-03-22
    • 2017-11-10
    • 1970-01-01
    • 2021-09-10
    • 2019-11-23
    • 2019-01-05
    • 2021-08-11
    相关资源
    最近更新 更多