Skip to content

Instantly share code, notes, and snippets.

@rbezerra
Last active March 30, 2016 20:10
Show Gist options
  • Select an option

  • Save rbezerra/76755880e2ce8a90539020aec352b04e to your computer and use it in GitHub Desktop.

Select an option

Save rbezerra/76755880e2ce8a90539020aec352b04e to your computer and use it in GitHub Desktop.
<?php
$pessoas = Pessoa::with('vinculo')->with('veiculo')->with('veiculo.modelo')->where('veiculo.situacao',1)->get();
return response()->json($pessoas);
?>
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
use Sofa\Eloquence\Eloquence;
use Sofa\Eloquence\Mappable;
class Pessoa extends Model
{
use Eloquence, Mappable;
protected $table = 'est_pessoa';
protected $primaryKey = 'pk_int_pessoa';
public $timestamps = false;
protected $maps = [
'id' => 'pk_int_pessoa',
'lotacao' => 'pes_vchar_lotacao',
'loginAD' => 'pes_vchar_loginAD',
'cpf' => 'pes_vchar_cpf',
'matricula' => 'pes_vchar_matricula',
'nome' => 'pes_vchar_nome',
'ramal_direto' => 'pes_vchar_ramal_direto',
'celular' => 'pes_vchar_cel',
'email' => 'pes_vchar_email',
'vinculo' => 'fk_int_pes_vinculo'
];
protected $hidden = [
'pk_int_pessoa',
'pes_vchar_lotacao',
'pes_vchar_loginAD',
'pes_vchar_cpf',
'pes_vchar_matricula',
'pes_vchar_nome',
'pes_vchar_ramal_direto',
'pes_vchar_cel',
'pes_vchar_email'
];
protected $appends = [
'id',
'lotacao',
'loginAD',
'cpf',
'matricula',
'nome' ,
'ramal_direto',
'celular',
'email'
];
protected $visible = [
'id',
'lotacao',
'loginAD',
'cpf',
'matricula',
'nome' ,
'ramal_direto',
'celular',
'email',
'vinculo',
'veiculo'
];
protected $fillable = [
'lotacao',
'loginAD',
'cpf',
'matricula',
'nome',
'ramal_direto',
'celular',
'email',
'vinculo'
];
public function vinculo(){
return $this->hasOne('App\Vinculo', 'pk_int_pes_vinculo', 'fk_int_pes_vinculo');
}
public function veiculo(){
return $this->hasOne('App\Veiculo', 'fk_int_pessoa', 'pk_int_pessoa' );
}
}
?>
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
use Sofa\Eloquence\Eloquence;
use Sofa\Eloquence\Mappable;
class Situacao extends Model{
use Eloquence, Mappable;
protected $maps = [
'id' => 'pk_int_situacao',
'descricao' => 'sit_vchar_descricao'
];
protected $hidden = [
'pk_int_situacao',
'sit_vchar_descricao'
];
protected $appends = [
'id',
'descricao'
];
protected $visible = [
'id',
'descricao'
];
protected $table = 'est_situacao';
protected $primaryKey = 'pk_int_situacao';
public function veiculo(){
return $this->belongsTo('App\Veiculo', 'fk_int_situacao', 'pk_int_situacao');
}
}
?>
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
use Sofa\Eloquence\Eloquence;
use Sofa\Eloquence\Mappable;
class Veiculo extends Model{
use Eloquence, Mappable;
protected $maps = [
'id' => 'pk_int_veiculo',
'cod_adesivo' => 'vei_int_adesivoCod',
'ano_adesivo' => 'vei_year_adesivoAno',
'validade_adesivo' => 'vei_date_adesivoValidade',
'dt_cadastro' => 'vei_tstamp_cad',
'placa' => 'vei_vchar_placa',
'ano_modelo' => 'vei_year_modelo',
'ano_fabricacao' => 'vei_year_fabricacao',
'pessoa' => 'fk_int_pessoa',
'cor' => 'fk_int_vei_cor',
'situacao' => 'fk_int_situacao',
'modelo' => 'fk_int_vei_modelo'
];
protected $hidden = [
'pk_int_veiculo',
'vei_int_adesivoCod',
'vei_year_adesivoAno',
'vei_tstamp_cad',
'vei_vchar_placa'
];
protected $appends = [
'id',
'cod_adesivo',
'ano_adesivo',
'dt_cadastro',
'placa',
'ano_modelo',
'ano_fabricacao',
'pessoa',
'cor',
'situacao',
'modelo'
];
protected $visible = [
'id',
'cod_adesivo',
'ano_adesivo',
'dt_cadastro',
'placa',
'situacao',
'cor',
'modelo',
'ano_modelo',
'ano_fabricacao',
'pessoa'
];
protected $fillable = [
'id',
'cod_adesivo',
'ano_adesivo',
'dt_cadastro',
'placa',
'situacao',
'cor',
'modelo',
'ano_modelo',
'ano_fabricacao',
'pessoa'
];
protected $table = 'est_veiculo';
protected $primaryKey = 'pk_int_veiculo';
public $timestamps = false;
public function situacao(){
return $this->hasOne('App\Situacao', 'pk_int_situacao', 'fk_int_situacao');
}
public function cor(){
return $this->hasOne('App\VeiculoCor', 'pk_int_vei_cor', 'fk_int_vei_cor');
}
public function modelo(){
return $this->belongsTo('App\Modelo', 'fk_int_vei_modelo', 'pk_int_vei_modelo');
}
public function pessoa(){
return $this->belongsTo('App\Pessoa', 'fk_int_pessoa', 'pk_int_pessoa');
}
}
?>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment