現在、laravelで登録フォームを作成しています。
0. 登録画面でデータ登録
0. 検索画面で検索して登録したデータ表示
0. データの横に編集ボタン設置して押されたら編集ページへ
今は上記のことはできています。
やりたいことは、
編集ページは登録画面と同じ感じで、データだけ入力されている状態にしたいです。
index.bladeの検索結果を表示する箇所は以下のようになっています。
<table id="user" class="table table-bordered table-striped" style="clear: both"> <tr> <th>名前</th> <th>カテゴリ</th> <th>画像</th> <th>処理</th> </tr> <tbody> @foreach($results as $result) <tr> <td>{{ $result -> name}}</td> <td>{{ $result -> category}}</td> <td><div style="text-align: center"><img height="40" width="50" src="img/{{ $result -> gazo_no}}"</div></td> <td> <form action='sample/delete' method='post'> {{ csrf_field() }} <input type='hidden' name='gazo_no' value='{{$result->gazo_no}}'> <button type="submit" class="btn btn-danger btn-xs" onclick="deletePost(this);">削除</button> </form> <a href="draftfuzoku/edit/{{$result->gazo_no}}" class="btn btn-primary btn-xs">編集</a> </td> </tr> @endforeach </tbody> </table>
↓Controller
/* * 編集処理 */ public function edit($gazo_no){ $edits = DB::table('sample') ->select('name','category','gazo_no') ->where('gazo_no',$gazo_no) ->get(); return view('sample.edit',['edits'=>$edits]); }
↓edit.blade
<select id="name" type="text" name="name" value="{{$edits->name}}"> <option selected="selected"></option> </select>
編集画面でvar_dumpすると、ちゃんと1件データが取れているのは確認できました。
ですが、value="{{$edits->name}}"と書いても下記のエラーが出てしまいました。
Trying to get property 'name' of non-object
なぜこうなったのかわからなかったので質問させていただきました。
よろしくお願いします。
回答1件
あなたの回答
tips
プレビュー