1
I have the following Tabelas/Models
and I’m not getting a consultation:
Model 1
id | Name
---+---------------
1 | Model1.1
2 | Model1.2
3 | Model1.3
Model 2
id | Name | model1_id
---+----------+----------
1 | Model2.1 | 1
2 | Model2.2 | 2
3 | Model2.3 | 3
Model 3
id | Name | model2_id
---+----------+----------
1 | Model3.1 | 1
2 | Model3.2 | 2
3 | Model3.3 | 3
class Model1 extends Model
{
public $table = 'model1';
const CREATED_AT = 'created_at';
const UPDATED_AT = 'updated_at';
protected $dates = ['deleted_at'];
public $fillable = ['name','model2_id'];
protected $casts = ['name' => 'string'];
public static $rules = [];
public function model2()
{
return $this->belongsTo(\App\Models\Model2::class);
}
}
class Model2 extends Model
{
public $table = 'model2';
const CREATED_AT = 'created_at';
const UPDATED_AT = 'updated_at';
protected $dates = ['deleted_at'];
public $fillable = ['name'];
protected $casts = ['name' => 'string'];
public static $rules = [];
public function model1()
{
return $this->hasMany(\App\Models\Model1::class);
}
public function model2()
{
return $this->belongsTo(\App\Models\Model2::class);
}
}
class Model3 extends Model
{
public $table = 'model3';
const CREATED_AT = 'created_at';
const UPDATED_AT = 'updated_at';
protected $dates = ['deleted_at'];
public $fillable = ['name',];
protected $casts = ['name' => 'string'];
public static $rules = [];
public function model2()
{
return $this->hasMany(\App\Models\Model2::class);
}
}
With the example below I could not because what I need is to know Model1
that related to the Model3
.
$model1 = Model3::where('model2_id', 2);
See if this can help you: Consultations between tables with Eloquent - Laravel 5
– NoobSaibot
I think this solves: https://laravel.com/docs/5.5/eloquent-relationships#has-Many-through
– Miguel
Thank you very much... helped a lot to solve the problem
– Mamga