簡體   English   中英

我無法在 Laravel 7 的數據庫中存儲信息

[英]I can not store info in DB in Laravel 7

我在將信息存儲到 MySQL 數據庫時遇到問題,我嘗試更改將信息存儲到 DB 的方法,但仍然是同樣的問題。 此外,我需要你的幫助來找出問題並解決它。

后控制器

<?php 
public function store(){
    $inputs= request()->validate([
        'title'=>'required|min:8|max:100',
        'post_image'=>'file',
        'body'=>'required'
    ]);
    if (request('post_image')){
        $inputs['post_image']=request('post_image')->store('images');
    }
    auth()->user()->posts()->create($inputs);
    return back();
}

發布 Model

<?php
class Post extends Model
{
    //

    protected $guarded =[];
    public function user(){
        return $this->belongsTo(User::class);
    }
    public function getPostImageAttribute($value){
        return asset($value);
    }
}

形式

       <form action="{{route('post.store')}}" method="post" enctype="multipart/form-data">
            @csrf
            <div class="form-group">
                <lable for="title">Title</lable>
                <input type="text" name="title" class="form-control" placeholder="Enter title">
            </div>

            <div class="form-group">
                <lable for="file">File</lable>
                <input type="file" name="post_image" class="form-control-file" id="post_image" placeholder="Upload your image">
            </div>
            <div class="form-group">
                <lable for="exampleInputEmail"></lable>
                <textarea  name="body" cols="30" rows="10" class="form-control"></textarea>
            </div>
            <button type="submit" class="btn btn-primary"> Submit</button>
        </form>

感謝您為幫助我所做的努力,並在此先感謝您。

要獲取請求 object 的文件,您可以通過 file() 方法訪問它。 以及您為什么不對請求使用方法注入

//use Illuminate\Http\Request; - import the use statement at top

public function store(Request $request){
    $inputs= $request->validate([
        'title'=>'required|min:8|max:100',
        //'post_image'=>'file',
        'body'=>'required'
    ]);
    if ($request->hasFile('post_image') && $request->file('post_image')->isValid()){
        $inputs['post_image'] = $request->file('post_image')->store('images');
    }
    auth()->user()->posts()->create($inputs);
    return back();
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM