Do not speak Portuguese? Translate this site with Google or Bing Translator
Vinculando a linha excluída - belongsTo() e withTrashed()

Posted on: May 27, 2021 09:24 PM

Posted by: Renato

Categories: Laravel eloquent models

Views: 419

Vinculando a linha excluída - belongsTo() e withTrashed()

Digamos que temos tabela DB produtos, que está vinculada a tabela de categorias com um campo productos.category_id = categories.id, Eloquent nos ajuda a definir uma relação facilmente. Mas e se a categoria for (soft) excluída?, mas ainda precisaremos que esse relacionamento(relationship) seja retornado por motivos de histórico? Você pode usar o método withTrashed() .

O modelo Product.php deve ser semelhante a este:

// ...

class Product extends Model {

	public function category() {
		return $this->belongsTo('App\Category');
	}

}

E então podemos usar esse relacionamento na visualização dos dados, assim:

{!! $product->category->title !!}

Mas, voltando à situação: se a categoria for excluída temporariamente (ou seja, o campo deleted_at não é nulo), então essa linha não seria retornada com a consulta. Mas você pode simplesmente adicionar withTrashed() no próprio modelo, assim:

 

public function category() {
	return $this->belongsTo('App\Category')->withTrashed();
}

Um outro exemplo que usei foi em um model que usa tabela de usuarios.

public function usuario()
{
return $this->belongsTo('App\User', 'usuario_id')->withTrashed();
}
 

4

Share
About Author

Renato

Developer

Add a Comment
Comments 0 Comments

No comments yet! Be the first to comment

Blog Search


Categories

OUTROS (12) Variados (109) PHP (111) Laravel (119) Black Hat (3) front-end (26) linux (95) postgresql (35) Docker (17) rest (4) soap (1) webservice (6) October (1) CMS (2) node (7) backend (11) ubuntu (48) devops (23) nodejs (5) npm (2) nvm (1) git (5) firefox (1) react (6) reactnative (5) collections (1) javascript (5) reactjs (7) yarn (0) adb (1) solid (0) blade (2) models (1) controllers (0) log (0) html (2) hardware (2) aws (14) Transcribe (2) transcription (1) google (3) ibm (1) nuance (1) PHP Swoole (4) mysql (23) macox (4) flutter (1) symfony (1) cor (1) colors (2) homeOffice (2) jobs (2) imagick (2) ec2 (1) sw (1) websocket (1) markdown (1) ckeditor (1) tecnologia (13) faceapp (1) eloquent (11) query (2) sql (35) ddd (3) nginx (6) apache (4) certbot (1) lets-encrypt (2) debian (10) liquid (1) magento (2) ruby (1) LETSENCRYPT (1) Fibonacci (1) wine (1) transaction (1) pendrive (1) boot (1) usb (1) prf (1) policia (2) federal (1) lucena (1) mongodb (4) paypal (1) payment (1) zend (1) vim (3) ciencia (6) js (1) nosql (1) java (1) JasperReports (1) phpjasper (1) covid19 (1) saude (1) athena (1) cinnamon (1) phpunit (1) binaural (1) mysqli (3) database (33) windows (4) vala (1) json (2) oracle (1) mariadb (2) dev (12) webdev (24) s3 (4) storage (1) kitematic (1) gnome (2) web (2) intel (3) piada (1) cron (2) dba (13) lumen (1) ffmpeg (2) android (2) aplicativo (1) fedora (2) shell (3) bash (2) script (3) lider (1) htm (1) csv (1) dropbox (1) db (3) combustivel (2) haru (1) presenter (1) gasolina (1) MeioAmbiente (1) Grunt (0) biologia (1) programming (20) performance (2) brain (1) smartphones (1) telefonia (1) privacidade (1) opensource (3) microg (1) iode (1) ssh (1) zsh (1) terminal (1) dracula (1) spaceship (1) mac (2) idiomas (1) laptop (2) developer (27) api (1) data (1) matematica (1) seguranca (2) 100DaysOfCode (6) hotfix (1) documentation (1) laravel (2) RabbitMQ (1) Elasticsearch (1) redis (2) Raspberry (3) Padrao de design (4) JQuery (1) angularjs (3) Dicas (15) kubenetes (1) vscode (1) backup (1) angular (2) servers (2) pipelines (1) AppSec (1) DevSecOps (2) rust (1) RustLang (1) Mozilla (1) algoritimo (1) sqlite (1) Passport (1) jwt (2) security (1) translate (1) kube (1) iot (1) politica (2) bolsonaro (1) flow (1) podcast (1) Brasil (1) containers (2) traefik (1) networking (1) host (1) POO (1) microservices (1) bug (1) cqrs (1) arquitetura (1) Architecture (1) sail (1) militar (1) artigo (1) economia (1) forcas armadas (1) ffaa (1) autenticacao (1) autorizacao (1) authentication (1) authorization (1) NoCookies (1) wsl (1) memcached (1) macos (2) unix (1) kali-linux (1) linux-tools (1) apple (1) noticias (2)

New Articles



Get Latest Updates by Email