Laravel - Comandos

Laravel - Comandos
Author: Eurai
Inclusão: 11/02/2024
Alteração: 15/02/2024

Salve salve, blz??

 

 

Alguns validations

Separado por | >> required|string|max:80

required

string

numeric

date

email

nullable

max:50

lowercase

after:start

in:A,B

 

 

With, consulta de outra tabela.

SeMovement::with(['se_product:id,name'])->with(['se_category:id,name'])->select('se_movements.*')->orderBy('created_at', 'DESC');
 
//No model ter essas duas, exemplo:
 
 
    public function se_product(): HasOne
    {
        return $this->hasOne(SeProduct::class, 'id', 'se_product_id');
    }
    public function se_category(): HasOne
    {
        return $this->hasOne(SeCategory::class, 'id', 'se_category_id');
  }
 

 

With, consulta tabela da tabela

ProjectNote::with(['project:id,name,client_id','projectTask:id,name','project.client:id,name'])
 
//No trecho >> project.client:id,name
//public function da tabela1.public function da tabela2
//Ter no model da tabela 1 e ter no model da tabela 2, ira relacionar: resultado.tabela1.tabela2.name
 
 
 
 
 

 

Laravel with com closure

Project::with(['client' => function ($oQuery) {
            $oQuery->select('id','name')
          ->where('status', 'A')
            ->orderBy('name');
      }])->select(['id','name','client_id'])->where('status','A')->orderby('name')->get();
 
 
//Selecionar campos somente que precisa, não carregar demais
 

 

Model com appends.

protected $appends = ['status_name'];
    public function getStatusNameAttribute()
    {
        $aOptions = [
            'A' => 'Ativo',
            'B' => 'Bloqueado',
        ];
        return $aOptions[$this->attributes['status'] ?? ''] ?? '';
  }
 

 

Laravel, uma forma de retorna o nome da tabela ($table). No model

    public static function getTableName()
    {
        return with(new static)->getTable();
  }

 

 

Laravel, uma forma de fazer join, direto no model + controller

    public function scopeJoinClients($query)

    {
        return $query->join(Client::getTableName(), 'projects.client_id', '=', 'clients.id');
  }
 
//No controller
 ->joinClients()

 

 

PHP / laravel. Substituir os BR para \n (enter), com pregreplace

// Converter todas as variações de <br> para \n $mensagem = preg_replace('/<br\s*\/?>/', "\n", $mensagem);

 

 

Update direto. Laravel

use Illuminate\Support\Facades\DB;
 
DB::table(XXX::getTableName())->where('id', $oRequest->id)->update(['order' => $oRequest->order]);

 

 

Migrate com chave estrangeira. Exemplo:

            $table->foreignIdFor(Client::class)->references('id')->on('clients')->constrained()->onUpdate('cascade')->onDelete('cascade');
            $table->foreignIdFor(Client::class,'delivery_id')->nullable()->references('id')->on('clients')->constrained()->onUpdate('cascade')->onDelete('cascade');

 

 

Gostou? Compartilhe com seus amigos e deixe um comentário! 😎

Se tiver mais formas e dicas, deixa seu comentário.

Um abraço, e até a próxima  

 

 

 

 

 

Esse conteúdo te ajudou? Ajude o canal com doação
Compartilhar
Comentários