laravel 5.6 related models to related models

2

I have in the model Finca.php

public function piscinas(){
    return $this->hasMany(Piscina::class)->select('id' , 'finca_id', 'area' , 'name');
}

And in the Piscina.php

model
public function finca(){
    return $this->belongsTo(Finca::class);
}

public function planificacion(){
    return $this->belongsTo(Planificacion::class);
}

How could you bring me swimming pools on a farm that have no planning?

$finca->piscinas->no_contains_planificacion???
    
asked by kevin au tam 14.06.2018 в 00:48
source

1 answer

1

Try this in your Finca model. Make leftJoin with planificacion and there valid if the field piscina_id is null

return $this->hasMany(DB::table('piscina'))
   ->leftJoin('planificacion', 'planificacion.piscina_id', '=', 'piscina.id')
   ->select('piscina.id' , 'piscina.finca_id', 'piscina.area' , 'piscina.name')
   ->whereNull('planificacion.piscina_id')
   ->get();

Learn more about Laravel's Query Builder in its official documentation

    
answered by 14.06.2018 / 01:04
source