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 - #4 Read

11/01/2020

Neste tutorial vamos fazer a leitura dos dados provenientes do banco de dados através do Laravel. Para isso, utilizaremos as tabelas users e book.

Lendo dados do banco com Laravel

Para exibição dos dados vindos do banco MySql, vamos pegar uma tabela do Bootstrap e jogar na nossa index.php. Ficará assim:

@extends('templates.template')

@section('content')
    <h1 class="text-center">Crud</h1> <hr>

    <div class="text-center mt-3 mb-4">
        <a href="">
            <button class="btn btn-success">Cadastrar</button>
        </a>
    </div>

    <div class="col-8 m-auto">
        <table class="table text-center">
            <thead class="thead-dark">
            <tr>
                <th scope="col">Id</th>
                <th scope="col">Título</th>
                <th scope="col">Autor</th>
                <th scope="col">Preço</th>
                <th scope="col">Action</th>
            </tr>
            </thead>
            <tbody>

            @foreach($book as $books)
                @php
                    $user=$books->find($books->id)->relUsers;
                @endphp
                <tr>
                    <th scope="row">{{$books->id}}</th>
                    <td>{{$books->title}}</td>
                    <td>{{$user->name}}</td>
                    <td>{{$books->price}}</td>
                    <td>
                        <a href="{{url("books/$books->id")}}">
                            <button class="btn btn-dark">Visualizar</button>
                        </a>

                        <a href="">
                            <button class="btn btn-primary">Editar</button>
                        </a>

                        <a href="">
                            <button class="btn btn-danger">Deletar</button>
                        </a>
                    </td>
                </tr>
            @endforeach
            </tbody>
        </table>
    </div>
@endsection

O nosso BookController ficará da seguinte forma:

public function index()
{
    $book=$this->objBook->all();
    return view('index',compact('book'));
}

Para fazermos o relacionamento entre as classes vamos criar um método no model para isso. Dentro de User.php ficará assim:

public function relBooks()
{
    return $this->hasMany('App\Models\ModelBook','id_user');
}

Dentro de ModelBook.php ficará assim:

<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Model;

class ModelBook extends Model
{
    protected $table = 'book';

    public function relUsers()
    {
        return $this->hasOne('App\User','id','id_user');
    }
}

Para ordernar os dados na tabela de forma crescente ou decrescente, basta na variável $book do método index adicionar o método sortBy, assim:

$book=$this->objBook->all()->sortBy('title');

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 - #3 Banco de Dados
Na aula de hoje trabalharemos com a criação do banco de dados para uso em conjunto com o framework de PHP Laravel.
Saiba mais!
Crud com Laravel - #5 Read II
Na aula de hoje trabalharemos com o método show do nosso ResourceController. Esse método é capaz de exibir os dados detalhados de cada registro.
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!