Frank K Hosaka Postado Outubro 7 Denunciar Share Postado Outubro 7 (editado) Fazer orçamento na tela é mais ou menos difícil, botar no papel é bem mais complicado. O Eloquent é engenhoso, ele consegue ajuntar as tabelas através de relações definidos no Model. Para pegar essas informações, aí eu tive que improvisar: arquivo app > Models > tbpedido.php <?php namespace App\Models; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; use Carbon\Carbon; class tbpedido extends Model { use HasFactory; public $timestamps=false; protected $table="tbpedido"; protected $fillable=['ped','dia','vendido']; protected $primaryKey="ped"; function hist() { return $this->hasMany(tbhistped::class, 'ped'); } } arquivo app > Models > tbhistped.php <?php namespace App\Models; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; class tbhistped extends Model { use HasFactory; protected $table="tbhistped"; protected $fillable=['ped','codprod','unitario','subtotal','qt']; const UPDATED_AT=null; const CREATED_AT=null; function produtos() { return $this->belongsTo(tbprod::class, 'codprod'); } } arquivo app > Models > tbprod.php <?php namespace App\Models; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; class tbprod extends Model { use HasFactory; protected $table="tbprod"; const UPDATED_AT=null; const CREATED_AT=null; protected $fillable=['prod','custo','codforn','marg','loc','emb','un','cf','codbar','venda']; protected $primaryKey="codprod"; } arquivo app > Http > Controllers > Controlid.php <?php namespace App\Http\Controllers; use Illuminate\Http\Request; use App\Models\tbpedido; class Controlid { function pedido(Request $request) { $itens=tbpedido::with('hist.produtos')->where('ped',$request->pedido)->get(); $num_rows=count($itens); if($num_rows==0) { return " <script> if(confirm('Não há nada para imprimir')) { location.replace('?Orcamento.inicio.<?=$ped?>') } </script>"; } return view('controlidView',['itens'=>$itens,'ped'=>$request->pedido]); } } arquivo controlidView.blade.php @include('menuView') <table> <tr class=fw-semibold><td colspan=7>Quitanda do Frank <tr class=fw-semibold><td colspan=7>Pedido <?=$ped?> de <?=dbr($itens[0]->dia)?> @foreach($itens as $item) <div style=width:200:word-break:normal> <tr><td colspan=7><?=$item->hist[0]->produtos->prod?></div> <tr><td class=text-end><?=$item->hist[0]->qt?> <td class=text-end><?=$item->hist[0]->produtos->un?> <td>x<td class=text-end><?=dec($item->hist[0]->unitario)?> <td>=<td class=text-end><?=dec($item->hist[0]->subtotal)?> @endforeach <tr class=fw-semibold><td>Total<td><td><td><td><td class=text-end><?=dec($itens[0]->total)?> <tr class=h-2><td>--- </table> <script> cabecalho.style.display='none' window.print() window.onafterprint=function() { location.replace("orcamentoInicio?ped=<?=$ped?>") } </script> Editado Outubro 10 por Frank K Hosaka Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Frank K Hosaka
Fazer orçamento na tela é mais ou menos difícil, botar no papel é bem mais complicado.
O Eloquent é engenhoso, ele consegue ajuntar as tabelas através de relações definidos no Model.
Para pegar essas informações, aí eu tive que improvisar:
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
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.