>

Fórum

Fórum da RL System, voltado para analistas, programadores etc. Tudo sobre linguagem de programação e desenvolvimento Full Stack: Banco de Dados, Android, C#, Java, .NET, PHP, Node, Javascript, TypeScript, Front, HTML e muito mais.



Propria classe


Duvida do curso de laravel: E possível eu criar minhas próprias classes, ai ao invés de usar o $contas_pagar->descricao = $descricao; eu use o $contas_pagar->setDescricao($descricao) da classe contas
-pagar e logo em seguida usar o método save()



3 Respostas


Renato

Pode descrever melhor sua dúvida?




no seu curso de laravel com banco de dados você criou uma model chamada ContasPagar com esse código dentro dele


namespace App;

use Illuminate\Database\Eloquent\Model;

class ContasPagar extends Model
{
protected $table = 'contas_pagar';
public $timestamps = true;
}


ao invez de usar esses atributos eu poderia substituir esses dois atributos por outros, e logo em seguida criar os get e sets ? o que eu estou pensando ficaria tipo assim


namespace App;

use Illuminate\Database\Eloquent\Model;

class ContasPagar extends Model
{
private $descricao;
private $valor


//Logo abaixo os get e sets dos atributos em cima
}

e no ContasPagarControlle no método salvar ao invez de usar

$contas_pagar = new ContasPagar();
$contas_pagar->descricao = $descricao;
$contas_pagar->valor = $valor;
$contas_pagar->save();

eu poderia fazer assim ?

$contas_pagar->setDescricao($descricao)
$contas_pagar->setValor($valor)
$contas_pagar->save();

eu queria sanar essa duvida porque no projeto da faculdade eu preciso criar o diagrama de classe, e eu precisaria dos atributos da classe, agradeço desde ja.




Renato

Note que não há sentindo em implementar isso, visto que o Eloquent ORM já faz todo o mapeio do banco pra gente.

De qualquer forma, se for o caso, veja o link:

https://laravel.com/docs/5.4/eloquent-mutators

Que apenas seria útil, se você fosse tratar alguma coisa especifica ou no get ou no set.

No exemplo do link, lá no set, ele transforma por exemplo, o texto em minusculo (utilizando strtolower).

Abs