Ребята, мне действительно нужна ваша помощь.
У меня есть этот контроллер:
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Book;
class BookController extends Controller
{
public function index()
{
$books = Book::orderBy('id', 'DESC')->paginate(5);
return view('index', compact('books'));
}
public function create()
{
return view('add');
}
public function store(Request $request)
{
$this->validate($request, ['titulo' => 'required', 'npaginas' => 'required', 'edicion' => 'required', 'autor' => 'required', 'resumen'=>'required', 'precio'=>'required']);
Book::create($request->all());
return redirect()->route('index');
}
public function edit($id){
return view('edit');
}
public function update(Request $request, $id)
{
$this->validate($request, ['titulo' => 'required', 'npaginas' => 'required', 'edicion' => 'required', 'autor' => 'required', 'resumen'=>'required', 'precio'=>'required']);
book::find($id)->update($request->all());
return redirect()->route('book.index');
}
public function destroy($id)
{
Book::find($id)->delete();
return redirect()->route('index');
}
}
У меня есть представление, отправляющее id
из book
в edit и уничтожают функции.Однако я получаю только ошибку `404.
Это представление:
@if($books->count())
@foreach($books as $book)
<tr>
<td>{{$book->titulo}}</td>
<td>{{$book->npaginas}}</td>
<td>{{$book->edicion}}</td>
<td>{{$book->autor}}</td>
<td>{{$book->resumen}}</td>
<td>${{$book->precio}}</td>
<td><a class="btn btn-primary btn-xs margen-boton"
href="{{ action('BookController@edit', $book->id) }}"><span
class="fas fa-pencil-alt"></span></a>
</td>
<td>
<form action="{{ action('BookController@destroy', $book->id )}}"
method="post">
{{csrf_field()}}
<input name="_method" type="hidden" value="DELETE">
<button class="btn btn-danger btn-xs margen-boton2" type="submit"><span
class="fas fa-trash-alt"></span></button>
</form>
</td>
</tr>
@endforeach
@else
<tr>
<td colspan="8" class="text-center"><p>Sin libros en el inventario</p></td>
</tr>
@endif
Правда в том, что я меняю имя переменной book
, но она ничего не делает.
Я пытаюсь изменить имя контроллера на представление, потому что я думал, что была проблема.но это не работаетЯ действительно не знаю, что делать.
Если бы вы могли мне помочь, это было бы здорово