Models
Os models são formas práticas de referencias uma tabela do banco de dados dentro do projeto possibilitando (através do eloquent
) que haja uma usabilidade e tratamento simples dos dados.
A model deve ser criada em /app/Models
:
namespace App\Models;
use \App\Db\Database;
use \Illuminate\Database\Eloquent\Model;
class Product extends Model {}
A simples criação do model já estabelece uma conexão, no exemplo acima o model Product
está se conectando com a tabela products
do banco de dados e considerando que a chave primária será a coluna id
. Contudo, existe a chance que seu projeto não siga essa convenção e (talvez) a chave primária seja cd_product
, nesses casos será necessário personalizar o model:
class Product extends Model {
protected $table = 'tb_product';
protected $primaryKey = 'cd_product';
}
Também é possível criar alias para melhorar a leitura do código, certamente é mais prático ler $product->name
ou $product->id
ao invés de $product->nm_product
ou $product->cd_product
(respectivamente). Para resolver essa situação é necessário adicionar algumas novas linhas o model
:
class Product extends Model {
// ...
private $aliases = [
'id' => 'cd_product',
'name' => 'nm_product'
];
public function __get($key) {
return $this->getAttribute($this->aliases[$key] ?? $key);
}
}
Usando um model
O uso do model pode ser realizado da seguinte forma:
use \App\Models\Product;
class Product {
public function getProduct() {
return Product::find(1);
}
public function getProducts() {
return Product::all();
}
}
Todas as funções podem ser encontradas na documentação completa aqui.
Last updated