belongsTo(RequisicaoResposta::class); } public function requisicaoItem() { return $this->belongsTo(RequisicaoItem::class); } public function reservaItem() { return $this->belongsTo(ReservaItem::class); } public function saidaItem() { return $this->belongsTo(SaidaItem::class); } public function motivo() { return $this->belongsTo(RequisicaoRespostaItemMotivo::class); } public function entradaItens() { return $this->belongsToMany(EntradaItem::class, 'almoxarifado_requisicao_resposta_item_entrada_item') ->using(RequisicaoRespostaItemEntradaItem::class) ->as('pivotRequisicaoRespostaItemEntradaItem') ->withTimestamps(); } public function recebimentos() { return $this->hasMany(RequisicaoRespostaItemRecebimento::class); } public function getQuantidadeEntradaAttribute() { $quantidade = 0; $this->entradaItens->map(function ($entradaItem) use (&$quantidade) { $quantidade += (int) $entradaItem->quantidade; }); return $quantidade; } public function getQuantidadeRecebimentoAttribute() { return $this->recebimentos->sum('quantidade'); } }