2017-04-21 3 views
0

Ich bin eine Liste aus einer Datenbanktabelle ‚Bücher‘, wie diese Ausgabe von:Laravel Kann nicht einen bestimmten Datensatz aus einem Formular abrufen

function edit() 
{ 
    $books = Book::all(); 
    return view('layouts/editbooks', ['books' => $books]); 
} 

Und sie wie folgt dargestellt:

@extends('layouts.master') 

@section('title') 

@section('content') 
<h1>Edit Book</h1> 
<form action="{{url('editbook')}}" method="GET"> 
    {{ csrf_field() }} 
    @foreach ($books as $book) 
     <div> 
      <label>{{$book->title}}</label> 
      <input type='radio' value='{{$book->id}}' name='books[]'/> 
     </div> 
    @endforeach 
    <input type="submit" class="btn btn-warning form-control" value="Edit"> 
</form> 

@endsection 

ich dann wollen Benutzer, um auszuwählen, welchen Datensatz sie bearbeiten möchten, indem sie ein Optionsfeld auswählen. Wenn sie auf eine Senden-Schaltfläche klicken, leiten sie den Benutzer auf eine neue Seite mit Details eines Buches um.

Deshalb versuche ich, ein Buch ID von Optionsfeld zu bekommen und dann, wenn id Streichhölzer, zeige alles von diesem Datensatz:

function editing(Request $request) 
{ 
    $edit = $request->books; 
    return view('layouts/editing', ['edit' => $edit]); 
} 
function updateEdit() 
{ 
    $books = DB::table('books')->where('id', $edit)->first(); 
} 

Und das in einer Ansicht angezeigt wird:

@extends('layouts.master') 

@section('title') 

@section('content') 
<h1>Delete Book</h1> 
<form action="{{url('removebook')}}" method="POST"> 
    {{ csrf_field() }} 
     <div> 
     <input name="name" type="textbox" value="{{ old('name', $edit['name']) }}"/> 
     </div> 
    <input type="submit" name="submitBtn" value="Delete Book"> 
</form> 

@endsection 

Ich erhalte jedoch eine Fehlermeldung:

Undefinierter Index: Name (Ansicht: C: \ xampp \ htdocs \ laraveladvweb \ resources \ views \ layouts \ editing.blade.php)

Was verursacht das Problem?

+0

den Inhalt von '$ bearbeiten Dump [ 'name']' in der Ansicht wahrscheinlich sein sollte '$ Bearbeiten-> name' – Joe

Antwort

0

Ist nicht $ Edit nur die ID des Buches?

versuchen diese

function editing(Request $request) 
{ 
    $edit = $request->books; 
    $book = DB::table('books')->where('id', $edit)->first(); 
    return view('layouts/editing', ['edit' => $book]); 
} 

@extends('layouts.master') 
@section('title') 

@section('content') 
<h1>Delete Book</h1> 
<form action="{{url('removebook')}}" method="POST"> 
    {{ csrf_field() }} 
     <div> 
     <input name="name" type="textbox" value="{{ old('name', $edit['name']) }}"/> 
     </div> 
    <input type="submit" name="submitBtn" value="Delete Book"> 
</form> 

@endsection 
Verwandte Themen