douxian1770 2018-01-07 16:25
浏览 51

在null LARAVEL上调用成员函数update()

I tried to update specific item but it was error 'Call to a member function update() on null'. I tried to change ->update($data) with ->insert($data) before and it works.

Controller:

public function update(Request $request, $id)
    {
        $this -> validate($request, array(
            'gamename' => 'required|min:3',
            'price' => 'required|int|min:1',
            'genre' => 'required',
            'releaseddate' => 'required|date',
            'picture' => 'required|mimes:jpeg,jpg,png,gif'
        ));


        $gamename = $request->input('gamename');
        $genre = $request->input('genre');
        $price = $request->input('price');
        $releaseddate = Carbon::parse($request->input('releaseddate'));
        $picture = $request->file('picture')->getClientOriginalName();

        $data=array('gamename' => $gamename, 'genre'=>$genre, 'price'=>$price,'releaseddate'=>$releaseddate,'picture'=>$picture );

        DB::table('games')->join('genres', 'games.genreid', '=', 'genres.genreid')->find($id)->update($data);

        return redirect('managegame');
    }

View:

<form action="/update/{id}" method="post" id="registerform" enctype="multipart/form-data">
<div class="errorpop{{ $errors->has('genre') ? ' has-error' : '' }}">
            <label for="genre" class="">Genre</label>

            <div class="">
                @foreach($genres as $genre)
                    <option value="{{ $genre->genreid }}">{{ $genre->genre }}</option>
                @endforeach
                @if ($errors->has('genre'))
                    <span class="help-block">
                                        <strong>{{ $errors->first('genre') }}</strong>
                                    </span>
                @endif
            </div>
        </div>
  • 写回答

3条回答 默认 最新

  • dshfjsh_5455 2018-01-07 16:34
    关注

    Make sure you got the object

    $game = DB::table('games')->
    join('genres', 'games.genreid', '=', 'genres.genreid')->where('id',$id)->get();
    

    //make sure you have the desired object.then

      $game->update($data);
    
    评论

报告相同问题?

悬赏问题

  • ¥15 Oracle中如何从clob类型截取特定字符串后面的字符
  • ¥15 想通过pywinauto自动电机应用程序按钮,但是找不到应用程序按钮信息
  • ¥15 MATLAB中streamslice问题
  • ¥15 如何在炒股软件中,爬到我想看的日k线
  • ¥15 51单片机中C语言怎么做到下面类似的功能的函数(相关搜索:c语言)
  • ¥15 seatunnel 怎么配置Elasticsearch
  • ¥15 PSCAD安装问题 ERROR: Visual Studio 2013, 2015, 2017 or 2019 is not found in the system.
  • ¥15 (标签-MATLAB|关键词-多址)
  • ¥15 关于#MATLAB#的问题,如何解决?(相关搜索:信噪比,系统容量)
  • ¥500 52810做蓝牙接受端