Banco de Dados:
Tabela: Produtos
Colunas: id | categoria | modelo | opcional | desenho | material
Tabela: categoria
Colunas: id | tipo | nome | descricao
Tabela: modelo
Colunas: id | nome | descricao
Tabela: modelo
Colunas: id | categoria | nome | descricao
Tabela: opcional
Colunas: id | nome | produto
e assim por diante...
Model Produto
class Produto extends Model
{
protected $table = 'produtos';
public $timestamps = false;
protected $fillable = array('id','categoria');
protected $guarded = ['id'];
public function categoria(){
return $this->belongsTo('App\Categoria');
}
public function modelo(){
return $this->belongsTo('App\Modelo');
}
}
Model Categoria
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Categoria extends Model
{
protected $table = 'categoria';
public $timestamps = false;
public function produto(){
return $this->hasMany('App\Produto');
}
}
Model Modelo
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Modelo extends Model
{
protected $table = 'modelo';
public $timestamps = false;
public function produtos(){
return $this->hasMany('App\Produto');
}
}
Controller Produto -> Função para formulario
<?php namespace App\Http\Controllers;
use Illuminate\Support\Facades\DB;
use App\Produto;
use App\Categoria;
use App\Modelo;
use Request;
use App\Http\Requests\ProdutosRequest;
class ProdutoController extends Controller
{
public function novo(){
return view('formulario')
->with('categorias', Categoria::all());
->with('modelos', Modelo::all());
}
}
View Formulario
<form action="/produtos/adiciona" method="post">
<input type="hidden"
name="_token" value="{{{ csrf_token() }}}" />
<div class="form-group">
<label>Categoria</label>
<select name="categoria_id" class="form-control">
@foreach($categorias as $c)
<option value="{{$c->id}}">{{$c->nome}}</option>
@endforeach
</select>
</div>
<div class="form-group">
<label>Modelo</label>
<select name="modelo_id" class="form-control">
@foreach($modelos as $m)
<option value="{{$m->id}}">{{$m->nome}}</option>
@endforeach
</select>
</div>
<div class="form-group">
<label>Complemento</label>
<input name="nome" class="form-control"/>
</div>
<button type="submit"
class="btn btn-primary btn-block">Adicionar</button>
</form>