Привет, у меня есть проблема, чтобы сделать мой запрос laravel
Регионы модели
class Region extends Model
{
protected $table = 'regions';
protected $guarded = [
];
public function county()
{
return $this->belongsTo('App\Models\County');
}
public function companies()
{
return $this->belongsToMany('App\Models\CompanyInfo',
'region_company','region_id','company_id');
}
Категория модели
class Category extends Model
{
protected $table = 'categories';
protected $guarded = [];
public function companies()
{
return $this->belongsToMany('App\Models\Company', 'categories_company','category_id','company_id');
}
}
Модельная компания
class Company extends Model
{
protected $table ='companies';
protected $guarded = [
];
public function regions()
{
return $this->belongsToMany('App\Models\Region', 'region_company','company_id','region_id');
}
}
У меня есть форма ввода, в которой я хочу фильтровать по категориям и регионам, а выходные данные должны быть категориями с компаниями, если это возможно, но я хочу показать только 10 компаний в каждой категории. Не уверен, что это возможно.
вот что у меня есть до сих пор
$categories = $request->input('categories');
$region = $request->input('regions');
$companies = Category::whereIn('id',$categories)->with([
'companies.regions' => function ($query) use ($region) {
$query->whereIn('id', $region);
}])->get();
проблема здесь в том, что он фильтрует категории, но по-прежнему дает мне все компании, не отфильтровывая те, которые принадлежат определенному региону.
спасибо Дэни