我似乎无法将上传的文件保存到数据库LARAVEL?

时间:2018-10-04 03:45:26

标签: php laravel laravel-5

你好,我试图将我的文件名保存在数据库laravel中,但这给了我 我正在用laravel上传图片。图片已上传,但尚未从我的租金数据库中上传。这就是发生的情况。

Creating default object from empty value

我使用Storage:link

控制器     使用Illuminate \ Http \ Request;     使用Illuminate \ Support \ Facades \ Storage;

public function insertproof(Request $request)
    $id = $request['id'];
    if ($request->hasFile('rent_proof')){
        $filepath = $request->file('rent_proof')->store('app/folder_proof');
    }
    $result = rent::find($id);
    $result->rent_proof=$filepath;
    $result->save();
}

这是我的观点,这个观点来自我的模态

<form method="POST" action="{{route('visitor_rent.insertproof')}}"
    enctype="multipart/form-data">

    {{ csrf_field() }}
    <div class="form-group">
        <input type="file" class="form-control" name="rent_proof"  id="proof">
    </div>
    <button type="submit" class="btn btn-success">Save</button>
</form>

这是我的模特

public class Rent extends Model
{

    protected $primaryKey = 'id';
    protected $fillable = ['rent_proof'];
}

编辑: 你好,这给了我错误

    $result = rent::find($id);
    $result->rent_proof=$filepath; //<--this line is giving me the error
    $result->save();        

感谢您的照顾 我想念什么吗?

laravel 5.5版本 PHP 7.2

1 个答案:

答案 0 :(得分:1)

Creating default object from empty value该错误是因为您传递的id在数据库中不存在。

如果要创建具有ID和图像路径的新记录

然后您应该使用

$result = new Rent;
$result->rent_proof=$filepath; //<--this line is giving me the error
$result->save();

如果您要更新的数据库中存在一个,则传递数据库中存在的正确ID