Профиль пользователя заблокирован сроком с 3 февраля 2021 г. и навсегда по причине: нарушение п. 6.6 правил сайта
Ответы пользователя по тегу Laravel
  • Как получать каждый раз новые данные в шаблоне через контроллер?

    @ChertyakaNUB Автор вопроса
    Вообщем сделал так:
    Переменную files убрал из view и весь код перенес в отдельную функцию и сделал дополнительный роут для нее.
    public function getFiles()
        {
            $path = public_path('images');
            $files = File::files($path);
    
            return $files;
        }

    В шаблоне при событии на добавление, сделал на получение обновленных данных через get jQuery:
    $.get( "{!! route('your_url') !!}", function( data ) {
                    console.log(data);
    });

    Теперь данные всегда приходят обновленными.
    Ответ написан
    Комментировать
  • Как в middleware использовать две роли?

    @ChertyakaNUB Автор вопроса
    Понял что простых решений нет, есть одни костыли:
    1 Метод, использовать несколько параметров:
    в роуте:
    Route::get('/page', [PageController::class, 'index'])->name('page')->middleware('role:admin,manager');

    в middleware:
    ...
    public function handle($request, Closure $next, $role1, $role2)
        {
    //Используем уже здесь $role1, $role2
    ...

    2 Метод, использовать один параметр с разделителем:
    в роуте:
    Route::get('/page', [PageController::class, 'index'])->name('page')->middleware('role:admin|manager');

    в middleware:
    ...
    public function handle($request, Closure $next, $role)
        {
    if (!is_array($role)) {
    			$roles = explode('|', $role);
    		}
    ...

    Костыли, не костыли, но решение работает.
    Если вдруг вундэркинды найдут более элегантное/правильное решение, пишите!
    Ответ написан
    Комментировать
  • Роли и разрешения, как сделать разрешения для записей?

    @ChertyakaNUB Автор вопроса
    Вообщем, как сам сказал, так и сделал, все работает!
    ...
    $perms = auth()->user()->permissions;
                $records= array();
                foreach($perms as $perm){
                    if (strpos($perm->slug, 'record-') !== false) {
                        $records[] = str_replace('record-','',$perm->slug);
                    }
                }
    
                $table = Record::query();
                $table->whereIn('name_record', $records);
                return Datatables::eloquent($table)
    ...
    Ответ написан
    Комментировать
  • Как получить запрос от другого сервера без ошибки 405?

    @ChertyakaNUB Автор вопроса
    Вообщем как всегда проблема в гребанном кэше Laravel, команда:
    php artisan route:cache
    убрала ошибку и все заработало.
    Ответ написан
    Комментировать