Closed ghost closed 7 years ago
Заметил такую же проблему. Разобраться самому - пока не получилось. Но боюсь эта проблема так же связана и с еще одной #424. Пока изучаю как и что попадает в /vendor/laravelrus/sleepingowl/src/Display/DisplayDatatablesAsync.php
в функции public function renderAsync
. Думаю что собака где то тут зарыта, но лопату надо.
Проблема в следующем - FireDisplay это генерация datatables, а асинк запрос уходит уже без всяких скоупов естественно - то бишь инстанс приложения прерывается - что делать пока не знаю - но думаю что разберусь. @CrazyRedScorp
Если мы используем такой код. То он будет работать с async
//// OnEdit
if(!is_null($id)){
$contacts = AdminSection::getModel(Contact::class)->fireDisplay(['scopes' => ['withBusiness', $id]]);
$tabs[] = AdminDisplay::tab($contacts)
->setLabel("Contacts")
->setIcon('<i class="fa fa-credit-card"></i>');
}
В секции должно быть что то типо
public function onDisplay($scopes = [])
{
$display = AdminDisplay::datatablesAsync()->paginate(10);
if($scopes){
$display->getScopes()->push($scopes);
}
}
В идеальных условиях этот код полностью не работает если в Model $display === DataTableAsync
Видимо обработку переданных скоупов нужно обрабатывать после того как таблица загружена.