Ir para conteúdo
Fórum Script Brasil
  • 0

Depois de três anos, consegui ajuntar duas tabelas pelo Eloquent


Frank K Hosaka

Pergunta

Em 2022, não existia a Gemini, o Copilot e tantos outros serviços de Inteligência Artificial. Assim, para eu ajuntar duas tabelas no Laravel, tive que usar a classe DB.

Aqui em 2024, mostrei o model do tbhistprod para a Gemini:

<?php // app > Models > tbhistprod.php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;

class tbhistprod extends Model
{
    use HasFactory;
    protected $table="tbhistprod";
    const UPDATED_AT=null;
    const CREATED_AT=null;
    protected $fillable=['codprod','dia','docto','qt','custototal','codp','lcto','pessoa'];

    public function produtos()
    {
        return $this->belongsTo(tbprod::class,'codprod');
    }

    public function pessoa()
    {
        return $this->belongsTo(tbpessoa::class,'codp');
    }
}

Perguntei para ela como ajuntar a tbhistprod com a tbprod pelo Eloquent, e aqui a resposta:

 <?php // app > Http > Controllers / Estoque.php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Models\tbdiario;
use App\Models\tbentraprod;
use App\Models\tbhistprod;
use App\Models\tbpessoa;
use App\Models\tbprod;

class Estoque
{

    function teste()
    {
        $entrada=tbdiario::where('contad',123)->sum('valor');
        $verificar=tbhistprod::with('produtos')
            ->whereHas('produtos',function($query)
                {$query->where('loc','<>','a24');})
            ->where('custototal','>',0)
            ->sum('custototal');
        return "entrada $entrada <br> verificar $verificar";
    }

	//...
}

 

Editado por Frank K Hosaka
Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...