Pesquisar na Comunidade
Mostrando resultados para as tags ''laravel eloquent''.
Encontrado 2 registros
-
Tenho um Blade que tem a descrição de um produto e um formulário que vai criar um novo produto baseado nas informações contidos naquele produto: multiplocriar.blade.php @include("menu") <table><tr><th><th><th> <tr><td>{{$prod->codprod}}<td>{{$prod->un}}<td>{{$prod->prod}} <tr><td>{{dec($prod->custo)}}<td>{{$prod->marg}}<td>{{$prod->codbar}} <tr><td>{{$prod->loc}}<td>{{$prod->emb}}<td>{{$prod->cf}} {{$prod->codforn}} </table> @if($criar) <form> @csrf <table><tr><th><th> <tr><td>Código<td><font color=red>criando um produto vinculado ao anterior <tr><td>Unidade<td><input name=un value={{$prod->un}}> <tr><td>Produto<td><input name=prod value='{{$prod->prod}}' size=40> <tr><td>Custo<td><input name=custo value={{dec($prod->custo)}}> <tr><td>Margem<td><input name=marg value=50> <tr><td>Código de Barra<td><input name=codbar value={{$prod->codbar}}> <tr><td>Local<td><input name=loc value={{$prod->loc}}> <tr><td>Embalagem<td><input name=emb value={{$prod->emb}}> <tr><td>NCM<td><input name=cf value={{$prod->cf}}> <tr><td><font color=red>Fator de conversão<td> <input name=codforn value='{"cod":{{$prod->codprod}},"conv":'> <tr><td><td> <input type=submit value=Cofirmar> </table> </form> @endif E controller ficou assim: MultiploController.php <?php namespace App\Http\Controllers; use Illuminate\Http\Request; use App\Models\tbprod; class MultiploController extends Controller { Public Function inicio(Request $request){ if($request->input('codprod')){ $codprod=$request->input('codprod'); $prod=tbprod::where('codprod',$codprod)->first(); $criar=true; return view('multiplocriar',['prod'=>$prod,'criar'=>$criar]);} if($request->input('un')){ tbprod::create($request->input()); $prod=tbprod::latest()->first(); $criar=false; return view('multiplocriar',['prod'=>$prod,'criar'=>$criar]);} } Ou seja, eu uso o mesmo Blade para criar e confirmar um novo produto criado. Para essa gambiarra funcionar, o Model ficou assim: 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"; protected $fillable=['prod','custo','codforn','marg','loc','emb','cf','codbar']; protected $primaryKey="codprod"; public function vinculado(){return $this->hasMany(tbprod::class,'codforn','codforn');} }
-
Hoje eu fiz a minha primeira tentativa de ajuntar três tabelas, precisava traduzir em Eloquent a seguinte consulta SQL: Select * from tbhistprod, tbpesssoa, tbprod where lcto=$lcto and tbhistprod.codprod = tbprod.codprod and tbhistprod.codp = tbpessoa.codp Depois de criar um Model para cada tabela e relacionar todas elas no controller, a sintaxe ficou assim: $produtos=tbprod::join('tbhistprod','tbhistprod.codprod','=','tbprod.codprod') ->join('tbpessoa','tbpessoa.codp','=','tbhistprod.codp')->where('lcto',$lcto)->get( ); Apesar de eu ter conseguido o resultado que eu queria, acredito que essa não é a forma mais adequada. Eu vi um tutorial em que o rapaz definia a relação das tabelas através do Model, usando o conceito de HasMany e BelongsTo. Esse vai ser o meu desafio dessa semana.