У меня проблема с тем, что у меня есть только около 5000 строк, которые я хочу загрузить с нетерпеливыми отношениями, а выполнение запроса занимает 5-10 секунд.Это приложение быстро получит до 200 тыс. Строк в следующем месяце, поэтому вы можете понять, почему это большая проблема.
Вот мой код:
$leads = Lead::with(['vertical', 'website', 'source', 'agent', 'assign', 'assign.buyer', 'returns'])->get();
$datatable = datatables()->of($leads);
dd($datatable );
Он использует таблицы данных Laravel.плагин, который просто добавляет ограничения на разбиение на страницы в запросе - https://github.com/yajra/laravel-datatables
Все эти отношения правильно установлены в модели:
public function vertical()
{
return $this->belongsTo('App\Vertical');
}
public function website()
{
return $this->belongsTo('App\Website');
}
public function source()
{
return $this->belongsTo('App\Source');
}
public function agent()
{
return $this->belongsTo('App\Agent');
}
public function assign()
{
return $this->hasOne('App\Assign');
}
public function returns()
{
return $this->hasMany('App\AssignReturn');
}
Также установлена связь assign.buyer
правильно в модели Assign
.
Зачем загружаться 5-10 секунд, если у меня в таблице Lead
всего около 5000 строк и она тоже ограничена?Это проблема, связанная с Laravel, проблема с Laravel Datatables, или я что-то не так делаю?