尝试分配Laravel 5中非对象的属性
我有下面的Laravel代码,它从API接收数据并将它们存储在数据库中尝试分配Laravel 5中非对象的属性,laravel,laravel-5,Laravel,Laravel 5,我有下面的Laravel代码,它从API接收数据并将它们存储在数据库中 $sample = Sample::findOrFail($id); $new_sample = $request->except('filename'); if ( $request->file('filename') ) { if ( $sample->filename ) { Storage::disk('documents')->delete($sample-
$sample = Sample::findOrFail($id);
$new_sample = $request->except('filename');
if ( $request->file('filename') ) {
if ( $sample->filename ) {
Storage::disk('documents')->delete($sample->filename);
}
$file = $request->file('filename');
$extension = $file->getClientOriginalExtension();
$new_sample->filename = $file->getFilename().'.'.$extension;
Storage::disk('documents')->put($file->getFilename().'.'.$extension, File::get($file));
}
if (!$sample->update($new_sample)) {
throw new HttpException(500);
}
我有以下错误尝试分配非对象的属性,我发现通过注释掉分配文件名的行,错误不会再次出现
$new\u sample->filename=$file->getFilename()。$extension代码>
所以,我想问题就在这里。我也试过了
$new\u示例['filename']=$file->getFilename().$extension代码>
但是它不存储文件名
有什么想法吗?由于请求对象中没有文件,所以出现此错误
这是因为您使用了错误的方法来检查文件。使用方法。因此,您需要改变这一点:
if ( $request->file('filename') ) {
为此:
if ($request->hasFile('filename')) {
由于请求对象中没有文件,因此出现此错误
这是因为您使用了错误的方法来检查文件。使用方法。因此,您需要改变这一点:
if ( $request->file('filename') ) {
为此:
if ($request->hasFile('filename')) {
请求中有一个文件。。。这是我发送的http正文的一部分:----WebKitFormBoundaryb1BbiXbbXXILD1Tr内容处置:表单数据;name=“filename”;filename=“plank challenge.pdf”内容类型:application/pdf
请求中有一个文件。。。这是我发送的http正文的一部分:----WebKitFormBoundaryb1BbiXbbXXILD1Tr内容处置:表单数据;name=“filename”;filename=“plank challenge.pdf”内容类型:application/pdf