Home
Button Mobile Webdesign em Foco
Newsletter Webdesign em Foco
Support Webdesign em Foco
Contribuition Webdesign em Foco
Doe para a Webdesign em Foco
Suporte da Webdesign em Foco
Fechar

Crud com Laravel - #8 Edit

01/02/2020

Na vídeoaula de hoje trataremos da parte do update no Crud com Laravel, editando os dados cadastrados no banco de dados MySql.

Update com Laravel

Na resource/index.blade.php vamos colocar o link para a página de edição:

<a href="{{url("books/$books->id/edit")}}">
    <button class="btn btn-primary">Editar</button>
</a>

No nosso BookController.php vamos implementar o método edit:

public function edit($id)
{
    $book=$this->objBook->find($id);
    $users=$this->objUser->all();
    return view('create',compact('book','users'));
}

Repare que o link está enviando para o create.blade.php. Agora vamos implementar essa view para receber os dados de edição.

@extends('templates.template')

@section('content')
    <h1 class="text-center">@if(isset($book)) Editar @else Cadastrar @endif</h1> <hr>

    <div class="col-8 m-auto">

        @if(isset($errors) && count($errors)>0)
            <div class="text-center mt-4 mb-4 p-2 alert-danger">
                @foreach($errors->all() as $erro)
                    {{$erro}}<br>
                @endforeach
            </div>
        @endif

        @if(isset($book))
            <form name="formEdit" id="formEdit" method="post" action="{{url("books/$book->id")}}">
                @method('PUT')
        @else
            <form name="formCad" id="formCad" method="post" action="{{url('books')}}">
        @endif
                @csrf
                <input class="form-control" type="text" name="title" id="title" placeholder="Título:" value="{{$book->title ?? ''}}" required><br>
                <select class="form-control" name="id_user" id="id_user" required>
                    <option value="{{$book->relUsers->id ?? ''}}">{{$book->relUsers->name ?? 'Autor'}}</option>
                    @foreach($users as $user)
                        <option value="{{$user->id}}">{{$user->name}}</option>
                    @endforeach
                </select><br>
                <input class="form-control" type="text" name="pages" id="pages" placeholder="Páginas:" value="{{$book->pages ?? ''}}" required><br>
                <input class="form-control" type="text" name="price" id="price" placeholder="Preço:" value="{{$book->price ?? ''}}" required><br>
                <input class="btn btn-primary" type="submit" value="@if(isset($book)) Editar @else Cadastrar @endif">
            </form>
    </div>
@endsection

Posteriormente vamos trabalhar no método update:

public function update(BookRequest $request, $id)
{
    $this->objBook->where(['id'=>$id])->update([
        'title'=>$request->title,
        'pages'=>$request->pages,
        'price'=>$request->price,
        'id_user'=>$request->id_user
    ]);
    return redirect('books');
}

Sucesso nos códigos e na vida!

Receba as aulas da Webdesign em Foco em Seu Email
Suporte Webdesign em Foco

Posts Relacionados

Crud com Laravel - #7 Validações
Nesse tutorial iremos realizar as validações no formulário do nosso CRUD com Laravel. Nossa validação abrigará tanto o front quanto o backend.
Saiba mais!
Crud com Laravel - #9 Delete
Na aula de hoje realizaremos a parte de delete no sistema de Crud com Laravel. Para isso, utilizaremos o PHP com Ajax.
Saiba mais!
Crud
Nesse curso aprenderemos como desenvolver uma ClassCrud com conexão ao banco de dados mysql através dos conectores PDO e MYSQLi.
Saiba mais!