Relationships are an event can have multiple categories a category can have multiple lots and multiple items
Event
<?php namespace App;
use Illuminate\Database\Eloquent\Model;
class Evento extends Model
{
//Nome da tabela.
protected $table = 'eventos';
//Primary Key da Tabela.
protected $primaryKey = 'id';
//Item em um Array que são utilizados
//para preenchimento da informação.
protected $fillable = ['nome'];
//Deseja trabalhar ou não com campos created_at
//e updated_at do tipo timestamp nessa tabela.
public $timestamps = false;
//Relacionamento 1 para muitos
public function categorias()
{
// $this->hasMany(relação, chave estrangeira da relação, primary key local);
return $this->hasMany('App\Categorias', 'id_evento', 'id');
}
}
Categories
<?php namespace App;
use Illuminate\Database\Eloquent\Model;
class Categorias extends Model
{
//Nome da tabela.
protected $table = 'categorias_evento';
//Primary Key da Tabela.
protected $primaryKey = 'id';
//Item em um Array que são utilizados
//para preenchimento da informação.
protected $fillable = ['id_evento','nome'];
//Deseja trabalhar ou não com campos created_at
//e updated_at do tipo timestamp nessa tabela.
public $timestamps = false;
//Relacionamento
public function evento()
{
//$this->belongsTo(relação, chave estrangeira local, primary key da relação);
return $this->belongsTo('App\Evento', 'id_evento', 'id');
}
//Relacionamento 1 para muitos
public function lotes()
{
//$this->hasMany(relação, chave estrangeira da relação, primary key local);
return $this->hasMany('App\Lotes', 'id_categorias_evento', 'id');
}
//Relacionamento 1 para muitos
public function itens()
{
//$this->hasMany(relação, chave estrangeira da relação, primary key local);
return $this->hasMany('App\Itens', 'id_categorias_evento', 'id');
}
}
Batches
<?php namespace App;
use Illuminate\Database\Eloquent\Model;
class Lotes extends Model
{
//Nome da tabela.
protected $table = 'lotes_evento';
//Primary Key da Tabela.
protected $primaryKey = 'id';
//Item em um Array que são utilizados
//para preenchimento da informação.
protected $fillable = ['id_categorias_evento','valor'];
//Deseja trabalhar ou não com campos created_at
//e updated_at do tipo timestamp nessa tabela.
public $timestamps = false;
//Relacionamento
public function categorias()
{
//$this->belongsTo(relação, chave estrangeira local, primary key da relação);
return $this->belongsTo('App\Categorias', 'id_categorias_evento', 'id');
}
}
Items
<?php namespace App;
use Illuminate\Database\Eloquent\Model;
class Itens extends Model
{
//Nome da tabela.
protected $table = 'itens_evento';
//Primary Key da Tabela.
protected $primaryKey = 'id';
//Item em um Array que são utilizados
//para preenchimento da informação.
protected $fillable = ['id_categorias_evento','item'];
//Deseja trabalhar ou não com campos created_at
//e updated_at do tipo timestamp nessa tabela.
public $timestamps = false;
//Relacionamento
public function categorias()
{
//$this->belongsTo(relação, chave estrangeira local, primary key da relação);
return $this->belongsTo('App\Categorias', 'id_categorias_evento', 'id');
}
}
References
Your question has two questions one is how to relate it all, and the other is how to use it with the
Views
, It would be easier for you to ask two questions related to each other, because relationships are one thing and then how to use everything together would be another point. To make the relationships for example I would need to know the relationships of each item, this is not clearly described have how you explain each relationship?– novic
made the edit to show the relationships, in the views would not be a consequence of relationships? @Virgilionovic
– Guilherme Freire
in the View there are several ways to implement this varies according to each programmer or case study ... understood... ?
– novic
I’ve even seen some, what I thought would put a value by passing the value on each input, has some better way?
– Guilherme Freire
Look it’s what I said, let’s solve your problems by parts, first could be relationships ???
– novic
Of course, I have a little difficulty to understand the hasOne x belongTo and in which model I put, whether in the event or in others
– Guilherme Freire
i did the relationships take a look!
– novic