Relationships are an event can have several categories a category can have multiple batches 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');
}
}
Lots
<?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');
}
}