首页 > 解决方案 > 在 Laravel 中的请求对象上使用 '->only' 时如何使用 'hasFile & 'file' 或等价物

问题描述

为了好玩,我试图找出在 PHP 和 Laravel 中做事的不同方式(我使用的 Laravel 版本是 5.8.37),当我->only在请求对象上使用“唯一”箭头函数 ()时遇到问题多变的。

例如,如果我执行以下操作以仅存储请求中的某些字段,如下所示:

$imageRequest = ($request->only('image_file', 'filename'));

这最终可以很好地获得我需要的两个输入/数据,但结果存储在一个数组中,这是我试图理解如何克服的问题出现的地方。

在存储了我需要的值之后,我想传递$imageRequest给一个函数,在那个函数中我想检查 if $imageRequest->hasFile,以及像这样访问文件:

if($imageRequest->hasFile('image_file')){
...
$image = $imageRequest->file('image_file');
...

}

我试图将->only数组的结果转换为一个对象,但我仍然无法使用->hasFileor ->file。我知道这些箭头函数旨在与请求对象一起使用。

是否有可能实现我想要做的事情->only(限制我选择包含的输入/数据)但保持和的->hasFile功能->file

标签: phparrayslaravelrequestarrow-functions

解决方案


推荐阅读