Учитывая, что в компании может быть несколько членов, сначала необходимо установить отношения, такие как:
Company
Модель:
public function members(){
return $this->hasMany(Member::class);
}
Member
Модель:
public function company(){
return $this->belongsTo(Company::class,'main_id');
}
Затем вы можете использовать отношения для получения данных:
$result = Company::with(['members' => function($q){
return $q->where('main_type', 2)->where('status', 1)->where(function($sq){
return $sq->where('username', 'like', '%keywords%')
->orWhere('name', 'like', '%keywords%');
});
}]);
Заголовок, который обновляет отношения в соответствии с именами ваших внешних ключей.Я бы посоветовал вам быть более интуитивным, как member_id
или company_id