Commit bd55112e authored by Marcos Albano's avatar Marcos Albano 💬

Adicionando relacionamentos

parent e1755997
......@@ -2,14 +2,14 @@
namespace App\Http\Controllers;
use App\Models\PessoaLote;
use App\Models\SituacaoJuridica;
use Illuminate\Http\Request;
class ManyToOneController extends Controller
{
public function manyToOne()
{
//$pessoas = PessoaLote::where('lote_id', 384549)->with('lote')->get();
//dd($pessoas);
//echo "{$pessoas}";
}
}
......@@ -3,8 +3,6 @@
namespace App\Http\Controllers;
use App\Models\Lote;
use App\Models\Municipio;
use App\Models\Pessoa;
use App\Models\SituacaoJuridica;
class OneToManyController extends Controller
......@@ -37,16 +35,18 @@ class OneToManyController extends Controller
// }
/* RELACIONAMENTO LOTE/SITUACAO_JURIDICA */
// $lotes = Lote::where('id', 'LIKE', '%25%')->with('situacaoJuridica')->get();
// foreach ($lotes as $lote) {
// echo "Número do Lote: " . "{$lote->numero}<hr>";
// $situacoesJuridicas = $lote->situacaoJuridica()
// ->where('id', 3)->get();
// dd($situacoesJuridicas);
// foreach ($situacoesJuridicas as $situacaoJuridica) {
// echo "Situação Jurídica: " . "{$situacaoJuridica->nome}<hr>";
// }
// }
$lotes = Lote::where('municipio_id', 2304707)->with('situacaoJuridica')->get();
foreach ($lotes as $lote) {
//dd($lote);
echo "Número do Lote: " . "{$lote->numero}<hr>";
$situacoesJuridicas = $lote->situacaoJuridica()
->where('id', 99)
->get();
foreach ($situacoesJuridicas as $situacaoJuridica) {
echo "Situação Jurídica: " . "{$situacaoJuridica->nome}<hr>";
}
}
/* RELACIONAMENTO LOTE/PESSOA_LOTE */
// $lotes = Lote::where('municipio_id', 2304608)->with('pessoaLote')->get();
......@@ -60,26 +60,25 @@ class OneToManyController extends Controller
// }
/* RELACIONAMENTO PESSOA/PESSOA_LOTE */
$pessoas = Pessoa::where('id', 46192)->with('pessoas')->limit(10)->get();
foreach ($pessoas as $pessoa) {
echo "Pessoa: " . "{$pessoa->nome}<hr>";
echo "id: " . "{$pessoa->id}<hr>";
// $pessoas = Pessoa::where('id', 46192)->with('pessoaLote')->limit(10)->get();
$pessoasLotes = $pessoa->pessoas()
->where('pessoa_id', 46192)->get();
// foreach ($pessoas as $pessoa) {
// echo "Pessoa: " . "{$pessoa->nome}<hr>";
// echo "id: " . "{$pessoa->id}<hr>";
//dd($pessoasLotes);
foreach ($pessoasLotes as $pessoaLote) {
echo "lote_id: " . "{$pessoaLote->lote_id}<hr>";
}
}
// $pessoasLotes = $pessoa->pessoaLote()
// ->where('pessoa_id', 46192)->get();
// //dd($pessoasLotes);
// foreach ($pessoasLotes as $pessoaLote) {
// echo "lote_id: " . "{$pessoaLote->lote_id}<hr>";
// }
// }
}
public function manyToOne()
{
/* RELACIONAMENTO LOTE/SITUACAO_JURIDICA */
/* RELACIONAMENTO LOTE/SITUACAO_JURIDICA */
// $situacoesJuridicas = SituacaoJuridica::where('id', 3)->get()->with('situacaoJuridica')->get();
// foreach ($situacoesJuridicas as $situacaoJuridica) {
......
......@@ -3,6 +3,7 @@
namespace App\Http\Controllers;
use App\Models\Lote;
use App\Models\Pessoa;
use App\Models\Titulo;
use Illuminate\Http\Request;
......@@ -10,22 +11,18 @@ class OneToOneController extends Controller
{
public function oneToOne()
{
/* RELACIONAMENTO LOTE/SITUACAO_JURIDICA */
$lotes = Lote::where('id', 'LIKE', '%25%')->with('situacaoJuridica')->get();
/* RELACIONAMENTO PESSOA/DOCUMENTO_PESSOA */
$pessoas = Pessoa::where('atividade_principal', 'Outras')->with('documentoPessoa')->get();
foreach($pessoas as $pessoa){
echo "Pessoa: " . "{$pessoa->nome}<hr>";
foreach ($lotes as $lote) {
echo "Número do Lote: " . "{$lote->numero}<hr>";
$situacoesJuridicas = $lote->situacaoJuridica()
->where('id', 1)->get();
$documentosPessoa = $pessoa->documentoPessoa()
->where('naturalidade_id', 2313104)->get();
foreach ($situacoesJuridicas as $situacaoJuridica) {
echo "Situação Jurídica: " . "{$situacaoJuridica->nome}<hr>";
//dd($situacaoJuridica);
}
}
// $titulo = Titulo::where('lote_id', 277720)->get()->first();
// $lote = $titulo->titulos();
// dd($lote);
foreach($documentosPessoa as $documentoPessoa){
echo "{$documentoPessoa}";
}
}
}
}
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class DocumentoPessoa extends Model
{
protected $table = 'regularizacaofundiaria.documentos_pessoa';
}
......@@ -3,51 +3,47 @@
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
use Symfony\Component\Mime\Part\Multipart\RelatedPart;
class Lote extends Model
{
protected $table = 'sige.lotes';
protected $fillable = ['id', 'area', 'ativo', 'criado_por_id', 'dhc', 'dhm', 'modificado_por_id',
'municipio_id', 'nome', 'numero', 'perimetro', 'proprietario', 'situacao_juridica_id',
'titulo', 'sncr', 'cpf', 'protocolo', 'is_aprovado', 'data_termino_periodo_de_uso',
'status_estrutura', 'status_pessoa', 'status_uso', 'comunidade', 'localidade', 'projeto_especial',
'cnpj', 'status_titulo', 'migrado_para_access', 'cod_imo_rur'];
public function search($filter = null)
{
$results = $this->where(function ($query) use ($filter) {
if ($filter) {
$query->where('proprietario', 'LIKE', "%{$filter}%");
}
}) //->toSql();
->paginate();
return $results;
}
public function municipio()
{
return $this->belongsTo(Municipio::class);
}
public function processos()
{
//lote_id: na tabela Processos, id: na tabela Lotes
return $this->hasMany(Processo::class, 'lote_id', 'id');
}
public function situacaoJuridica()
{
//lote_id: na tabela Processos, id: na tabela Lotes
//return $this->belongsTo(SituacaoJuridica::class, 'id', 'situacao_juridica_id');
return $this->hasOne(SituacaoJuridica::class, 'id','situacao_juridica_id');
}
public function pessoaLote()
{
//lote_id: na tabela PessoaLote, id: na tabela Lotes
return $this->hasMany(PessoaLote::class, 'lote_id', 'id');
}
protected $table = 'sige.lotes';
protected $fillable = ['id', 'area', 'ativo', 'criado_por_id', 'dhc', 'dhm', 'modificado_por_id',
'municipio_id', 'nome', 'numero', 'perimetro', 'proprietario', 'situacao_juridica_id',
'titulo', 'sncr', 'cpf', 'protocolo', 'is_aprovado', 'data_termino_periodo_de_uso',
'status_estrutura', 'status_pessoa', 'status_uso', 'comunidade', 'localidade', 'projeto_especial',
'cnpj', 'status_titulo', 'migrado_para_access', 'cod_imo_rur'];
public function search($filter = null)
{
$results = $this->where(function ($query) use ($filter) {
if ($filter) {
$query->where('proprietario', 'LIKE', "%{$filter}%");
}
}) //->toSql();
->paginate();
return $results;
}
public function municipio()
{
return $this->belongsTo(Municipio::class);
}
public function processos()
{
//lote_id: na tabela Processos, id: na tabela Lotes
return $this->hasMany(Processo::class, 'lote_id', 'id');
}
public function situacaoJuridica()
{
return $this->belongsTo(SituacaoJuridica::class);
}
public function pessoaLote()
{
//lote_id: na tabela PessoaLote, id: na tabela Lotes
return $this->hasMany(PessoaLote::class, 'lote_id', 'id');
}
}
......@@ -8,8 +8,13 @@ class Pessoa extends Model
{
protected $table = 'regularizacaofundiaria.pessoa';
public function pessoas()
public function pessoaLote()
{
return $this->hasMany(PessoaLote::class, 'pessoa_id', 'id');
}
public function documentoPessoa()
{
return $this->hasOne(DocumentoPessoa::class, 'pessoa_id', 'id');
}
}
......@@ -10,6 +10,11 @@ class PessoaLote extends Model
public function pessoa()
{
return $this->belongsTo(PessoaLote::class);
return $this->belongsTo(Pessoa::class);
}
public function lote()
{
return $this->belongsTo(Lote::class);
}
}
......@@ -8,10 +8,17 @@ class SituacaoJuridica extends Model
{
protected $table = 'sige.situacoes_juridicas';
public function situacaoJuridica()
public function lote()
{
return $this->belongsTo(SituacaoJuridica::class, 'id', 'situacao_juridica_id');
return $this->belongsTo(Lote::class);
//CASO FOSSE VINCULAR COM SITUAÇÃO JURÍDICA (ESSE id SERIA O id DA TABELA sige.situacoes_juridicas) - AULA 9
// return $this->hasMany(Lote::class, 'municipio_id', 'id');
}
public function lotes()
{
//lote_id: na tabela Processos, id: na tabela Lotes
//return $this->belongsTo(SituacaoJuridica::class, 'id', 'situacao_juridica_id');
return $this->hasMany(Lote::class, 'situacao_juridica_id', 'id');
}
}
......@@ -46,7 +46,7 @@ return [
*/
'logo' => '<b>Agendamento IDACE</b>',
'logo_img' => 'vendor/adminlte/dist/img/AdminLTELogo.png',
'logo_img' => 'vendor/adminlte/dist/img/logoidace.png',
'logo_img_class' => 'brand-image img-circle elevation-3',
'logo_img_xl' => null,
'logo_img_xl_class' => 'brand-image-xs',
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment