首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >对数组Laravel5.2上的成员函数getClientOriginalName()的调用

对数组Laravel5.2上的成员函数getClientOriginalName()的调用
EN

Stack Overflow用户
提问于 2016-05-20 10:23:59
回答 1查看 8.4K关注 0票数 3

我有问题,我正在编写编辑列表菜单的函数,当我试图更新文件图像时,我遇到了getClientOriginalName()中的错误

调用数组上的成员函数getClientOriginalName()

代码语言:javascript
复制
 @foreach($edits as $key => $value)
    <input type="hidden" value="{{ $key }}" name="key_edit[{{ $key }}]">
    <div class="col-md-10">
        <div class="col-md-6">                      
            <div class="form-group">
                <label class="form-label" for="field-4">Tên menu</label>
                    <span class="desc">vd "Technology"</span>
                    <div class="controls">
                        <input type="text" id="field-4" name="menu_title[{{ $key }}]" placeholder="Vui lòng điền tên" class="form-control" 
                        value="{{ $value->menu_title }}">

                        <input type="hidden" id="field-4" name="id_menu[{{ $key }}]" placeholder="Vui lòng điền tên" class="form-control" 
                        value="{{ $value->menu_id }}">

                    </div>
                </div>
        </div>
        <div class="col-md-6">
            <div class="col-md-10 ">
                <div class="form-group">
                    <label class="form-label" for="formfield10">Icon menu</label>
                    <span class="desc">vd. "character.jpg"</span>
                    <div class="controls">
                        <input type="file" multiple="{{ $key }}" class="form-control" id="formfield10" name="upload_icon[{{ $key }}]">

                        <input type="hidden" value="{{ $value->icon }}" name="icon_hidden[{{ $key }}]">  
                    </div>
                </div>
            </div>
        </div>
    </div>
    <div class="col-md-2">
        <div class="col-md-1 btn-iconic">
                <div style="height:33px"></div>
                <div class="controls">
                    <button type="submit" class="btn btn-purple pull-right"><i class="fa fa-edit "></i></button>
                </div>
            </div>
            <div class="col-md-1 btn-iconic">
                <div style="height:33px"></div>
                <div class="controls">
                    <button type="submit" class="btn btn-purple"><i class="fa fa-close "></i></button>
                </div>
            </div>
    </div>
    @endforeach

    </form>

MenuController

代码语言:javascript
复制
public function edit(Request $request){
            $input= $request->all();
            $edit = DB::table('categorys')->get();

            if($request->hasFile('upload_icon')) {
                $file = $input['upload_icon'];
                $name = $file->getClientOriginalName();
                $file->move(public_path().'/images/menu', $name);

                $id= $request->input('id_menu');
                $name = $request->input('menu_title');
                $icon= $name;
                foreach ($edit as $key => $value) {
                    DB::table('categorys')->where('menu_id', $id)->update([
                        'menu_id'=> $id[$key],
                        'menu_title' => $name[$key], 
                        'icon' => $icon[$key]
                    ]);

                }

            }
            else{               

                $id= $request->input('id_menu');
                $name = $request->input('menu_title');
                $icon= $request->input('icon_hidden');

                $key =$request->input('key_edit');
                foreach ($edit as $key => $value) {
                    DB::table('categorys')->where('menu_id', $id)->update([
                        'menu_id'=> $id[$key],
                        'menu_title' => $name[$key], 
                        'icon' => $icon[$key]
                    ]);

                }

            }
            return View('admin.menu.edit')->with('edits',$edit);
        }

dd($input‘’upload_icon‘);

代码语言:javascript
复制
array:2 [▼
  0 => UploadedFile {#161 ▼
    -test: false
    -originalName: "life_icon_post.png"
    -mimeType: "image/png"
    -size: 344
    -error: 0
    path: "E:\xampp\tmp"
    filename: "phpB451.tmp"
    basename: "phpB451.tmp"
    pathname: "E:\xampp\tmp\phpB451.tmp"
    extension: "tmp"
    realPath: "E:\xampp\tmp\phpB451.tmp"
    aTime: 2016-05-20 10:40:16
    mTime: 2016-05-20 10:40:16
    cTime: 2016-05-20 10:40:16
    inode: 0
    size: 344
    perms: 0100666
    owner: 0
    group: 0
    type: "file"
    writable: true
    readable: true
    executable: false
    file: true
    dir: false
    link: false
    linkTarget: "E:\xampp\tmp\phpB451.tmp"
  }
  1 => null
]
EN

回答 1

Stack Overflow用户

发布于 2016-05-20 10:28:40

看来你是在尝试在集合上使用方法。您应该使用foreach()来迭代文件,或者如果您只有一个文件,请执行如下操作:

代码语言:javascript
复制
$name = $file[0]->getClientOriginalName();
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37344206

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档