Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 Re: Laravel 5.x » Laravel вылогинивает после перезагрузки страницы/перехода на дургую » 12.11.2017 21:11:16

А во и прикол что в логи лары трэйсы не попада.т. Или нет ошибок, или не пишутся. Хотя, повторю, все пермишены к папкам есть.

#2 Laravel 5.x » Laravel вылогинивает после перезагрузки страницы/перехода на дургую » 09.11.2017 13:35:19

Arat
Ответов: 2

Вопрос, буду крайне благодарен за оперативную помощь.

Ситуевина:

Лара 5.5, РНР7.1. Не пашет логин. Вернее пашет но плохо. Логин проходит, но после перехода на другую страницу, Лара вылогинивает юзера.
С той же версией РНР, с теми же конфигами сервера, с теми же конфигами Лары на другом серваке все работает.
Сначала грешил на сессии, но все пермишны на папки есть, но файлы сессий туда не пишутся. Перекинул сессии в БД, но проблема осталась.

Что может быть?

#3 Re: Laravel 5.x » Проблема с middleware 'web' на Laravel 5.5. Обновление с Laravel 5.1. » 19.09.2017 14:27:23

Починил. У меня в Kernel.php не хватало свойства

protected $middlewareGroups

После апгрейда упустил этот момент.

#4 Re: Laravel 5.x » Проблема с middleware 'web' на Laravel 5.5. Обновление с Laravel 5.1. » 19.09.2017 10:53:08

Сделал так же и роуты перекинул. Но все равно беда та же. не работает мидлвер почему-то.

#5 Laravel 5.x » Проблема с middleware 'web' на Laravel 5.5. Обновление с Laravel 5.1. » 18.09.2017 15:00:29

Arat
Ответов: 3

Версия Laravel: 5.5 (пошаговое обновление с 5.1)
Версия PHP: 7.1.11

Задача, что должно происходить в целом:
    Должен работать middleware 'web'.
Что произошло, текст ошибки, если есть:
    При подключении пакета SleepingOwl, который требует наличие и использование middleware 'web', получаю ошибку:

 ErrorException (E_NOTICE)
Array to string conversion

 ErrorException
…
/vendor
/laravel
/framework
/src
/Illuminate
/Routing
/MiddlewareNameResolver.php
42
8
Illuminate
\Foundation
\Bootstrap
\HandleExceptions
handleError
…
/vendor
/laravel
/framework
/src
/Illuminate
/Routing
/MiddlewareNameResolver.php
42
7
Illuminate
\Routing
\MiddlewareNameResolver
resolve
…
/vendor
/laravel
/framework
/src
/Illuminate
/Routing
/Router.php
624
6
Illuminate
\Routing
\Router
Illuminate
\Routing
\{closure}
[internal]
0
5
array_map
…
/vendor
/laravel
/framework
/src
/Illuminate
/Support
/Collection.php
833
4
Illuminate
\Support
\Collection
map
…
/vendor
/laravel
/framework
/src
/Illuminate
/Routing
/Router.php
625
....

http://prntscr.com/gmkq8n
Варианты/догадки, почему это произошло:
    Что-то не так с middleware после обновления версии Laravel.
Код:
app\Providers\RouteServiceProvider.php:

<?php

namespace App\Providers;

use Illuminate\Routing\Router;
use Illuminate\Foundation\Support\Providers\RouteServiceProvider as ServiceProvider;

class RouteServiceProvider extends ServiceProvider
{
    /**
     * This namespace is applied to the controller routes in your routes file.
     *
     * In addition, it is set as the URL generator's root namespace.
     *
     * @var string
     */
    protected $namespace = 'App\Http\Controllers';

    /**
     * Define your route model bindings, pattern filters, etc.
     * @return void
     */
    public function boot()
    {
        parent::boot();
    }

    /**
     * Define the routes for the application.
     *
     * @param  \Illuminate\Routing\Router  $router
     * @return void
     */
    public function map(Router $router)
    {
        $router->group(['namespace' => $this->namespace], function ($router) {
            require base_path('routes/web.php');
            require base_path('app/Http/routes.php');
        });
    }
}

app\Http\Kernel.php

<?php

namespace App\Http;

use Illuminate\Foundation\Http\Kernel as HttpKernel;

class Kernel extends HttpKernel
{
    /**
     * The application's global HTTP middleware stack.
     *
     * @var array
     */
    protected $middleware = [
        \Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode::class,
        \App\Http\Middleware\EncryptCookies::class,
        \Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
        \Illuminate\Session\Middleware\StartSession::class,
        \Illuminate\View\Middleware\ShareErrorsFromSession::class,
        \App\Http\Middleware\VerifyCsrfToken::class,
        \App\Http\Middleware\Locale::class,
        \App\Http\Middleware\CacheBuilder::class,
        \Spatie\Pjax\Middleware\FilterIfPjax::class,
    ];

    /**
     * The application's route middleware.
     *
     * @var array
     */
    protected $routeMiddleware = [
        'web' => [
            \App\Http\Middleware\EncryptCookies::class,
            \Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
            \Illuminate\Session\Middleware\StartSession::class,
            \Illuminate\View\Middleware\ShareErrorsFromSession::class,
            \App\Http\Middleware\VerifyCsrfToken::class,
            \Illuminate\Routing\Middleware\SubstituteBindings::class,
        ],

        'api' => [
            'throttle:60,1',
            'bindings',
        ],

        'bindings' => \Illuminate\Routing\Middleware\SubstituteBindings::class,

        'can' => \Illuminate\Auth\Middleware\Authorize::class,
        'auth' => \App\Http\Middleware\Authenticate::class,
        'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class,
        'auth.only' => \App\Http\Middleware\LoggedInOnly::class,
        'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class,
        'admin' => \App\Http\Middleware\Admin::class,
        'blogger' => \App\Http\Middleware\Blogger::class,
        'subscribed' => \App\Http\Middleware\SubscriptionMiddleware::class,
        'cors' => \App\Http\Middleware\Cors::class,
        'role' => \Zizaco\Entrust\Middleware\EntrustRole::class,
        'permission' => \Zizaco\Entrust\Middleware\EntrustPermission::class,
        'ability' => \Zizaco\Entrust\Middleware\EntrustAbility::class,
    ];
}

Если нужно что-то еще, выложу сразу.
Только подскажите, в чем проблема и как ее исправить! Уже просто изгуглил все, а решения не найду (((((

#6 Laravel 5.x » Sleeping Owl 4 и Laravel 5.1. Некропост. » 13.09.2017 11:43:25

Arat
Ответов: 1

Итак, есть проект на Ларе 5.1. Поднять версию на вариант, т.к. уже много чего подвзяано именно под это и переделка скорее всего поломает кучу фич на уже живом проекте.

Версия Laravel: 5.1
Версия PHP: 7.1.1

Задача:
Необходимо утсановить Sleeping Owl 4
Что делаю:
   1. Установил через composer require "laravelrus/sleepingowl":"4.*@dev"
2. config\app.php - перед

AppServiceProvider::class

прописано

SleepingOwl\Admin\Providers\SleepingOwlServiceProvider::class

3. При

php artisan sleepingowl:install

получаю ошибку в консоли

Invalid argument supplied for foreach()

Как можно побороть проблему или установить пакет?
Огромное спасибо!

#7 Lumen » OAuth. Как проверить токен? » 01.09.2017 16:02:08

Arat
Ответов: 0

Всем привет!
Нужно использовать для REST API OAuth. Подключил https://github.com/lucadegasperi/oauth2-server-laravel.
Токены генерирует прекрасно. Но как дать доступ ресурсов сервера с помощью этого ключа я так и не могу разобраться.
Посылаю на сервер запрос с заголовком Authorization: Bearer mySecretToken получаю в ответ 500ю ошибку: {"error":{"message":"Tried to access session data without an active access token","status_code":500}}

Помогите, пожалуйста, разобраться с этим вопросом. Очень актуально sad

#8 Общий раздел » Sleeping Owl. Как отследить сабмит на странице? » 15.06.2016 13:24:05

Arat
Ответов: 1

Всех приветствую.
Очень срочный вопрос возник.
В  Sleeping Owl вывожу в форму все, что надо. Нужно отследить данные, которые прилетают в модель для обработки. Можно ли как-то отследить что прилетает из формы в модель и как-то данные перехватить для обработки?
Или же просто отследить сам ивент сабмита по форме, то как?

#10 Re: Laravel 5.x » Связи моделей и детальная выборка по базе » 12.05.2016 16:47:58

Нашел в чем проблема с моей пагинацией.

PHP
$alerts $alerts->sortByDesc('created_at');

Из-за вот этой сортировки не пускало к методу links() почему-то. Теперь ищу как все же отсортировать мою коллекцию с пагинацией…

#11 Re: Laravel 5.x » Связи моделей и детальная выборка по базе » 06.05.2016 20:13:13

Таки не работает постраничка. А может какой-то сторонний пакет для ларавела давать такую проблему?

#12 Re: Laravel 5.x » Связи моделей и детальная выборка по базе » 29.04.2016 12:40:59

Запости весь метод контродллера

PHP
public function showArchive() {
      
$user auth()->user();
      
$alerts  $user->alerts()->wherePivot('viewed'true)->paginate(10);
      
$alerts $alerts->sortByDesc('created_at');

      return 
view('pages.alerts.index', ['alerts' => $alerts]);
    }

Вот этот метод контроллера

#13 Re: Laravel 5.x » Связи моделей и детальная выборка по базе » 28.04.2016 19:41:54

Во вьюхе дампится аж бегом. Оно там массив объектов самих алертов. Конечно, я передал алерты туда.

#14 Re: Laravel 5.x » Связи моделей и детальная выборка по базе » 28.04.2016 18:51:29

Продолжаем разговор…
Делаю теперь пагинацию по выборке выше:

PHP
$user auth()->user();
$alerts  $user->alerts()->wherePivot('viewed'true)->paginate(10);

Во вьюхе пишу (все по документации):

PHP
{!! $alerts->links() !!}

Получаю на выхлоп:

PHP
ErrorException in Macroable.php line 81:
Method links does not exist.

#15 Re: Laravel 5.x » Связи моделей и детальная выборка по базе » 28.04.2016 15:01:06

Да, было бы супер! Открыл твой сайт для себя. Клевый!

#16 Re: Laravel 5.x » Связи моделей и детальная выборка по базе » 28.04.2016 14:55:38

Еще в догонку вопрос.
А если мне нужно теперь вытащить сам флаг viewed из пивотной таблицы для использования в шаблоне, как я могу это сделать?

#17 Re: Laravel 5.x » Связи моделей и детальная выборка по базе » 28.04.2016 14:17:23

Ооо! Пошло! огромное спасибо! Вот про wherePivot() метод даже не знал

#19 Re: Laravel 5.x » Связи моделей и детальная выборка по базе » 28.04.2016 13:56:03

А вообще в отношениях что-то явно не так.
Это значит отношение м2м
Те один алерт может относиться ко многим пользователям? Тогда поле viewed на самой модели Alert нерелевантно. Надо делать колонку viewed на связующей таблице alert_user

Именно, алерт относится ко многим юзерам (многие юзеры имеют алерт). В обеих талицах пока есть поле viewed.
Бьет такую ошибку:

PHP
SQLSTATE[23000]: Integrity constraint violation1052 Column 'viewed' in where clause is ambiguous (SQLselect `alerts`.*, `alert_user`.`user_id` as `pivot_user_id`, `alert_user`.`alert_id` as `pivot_alert_idfrom `alertsinner join `alert_useron `alerts`.`id` = `alert_user`.`alert_idwhere `alert_user`.`user_id` = and `viewed` = 0)

#20 Laravel 5.x » Связи моделей и детальная выборка по базе » 28.04.2016 13:42:10

Arat
Ответов: 22

Всем привет!
Нужна подсказка опытных.
Есть две модели Users и Alerts. Они связаны между собой пивотной таблицей alert_user.
Для каждого юзера достаю нужные алерты через

PHP
$alerts User::find($user->id)->alerts;

У меня в таблице alerts есть поле viewed с булиновским значением. Как мнее достать для юзера алерты, которые со значением в таблице viewed == false?
Через

PHP
$alerts User::find($user->id)->alerts;
$alerts $alerts->where('viewed'false);

возвращает пустую коллекцию, хотя это не так.

#21 Re: Laravel 5.x » Cron » 27.04.2016 10:57:42

Я бы рекомендовал это прописать в новой команде для artisan и ее зафигачить через Schedule в кроне.
https://laravel.com/docs/5.2/artisan#writing-commands
https://laravel.com/docs/5.2/scheduling

#22 Re: Laravel 5.x » Laravel 5 + composer +php7 » 26.04.2016 13:34:32

Ложная тревога. Были проблемы с .env файлом.

#23 Re: Laravel 5.x » Laravel 5 + composer +php7 » 26.04.2016 11:41:03

Переустановил Убунту. Композер завелся. Теперь беда с тем, что не работает php artisan.
Дает ошибку
[RuntimeException]
No supported encrypter found. The cipher and / or key length are invalid.
Побороть можно?

#24 Re: Laravel 5.x » Laravel 5 + composer +php7 » 25.04.2016 14:50:32

Такс, тут у меня видимо еще и сам РНР ругается…

#25 Re: Laravel 5.x » Laravel 5 + composer +php7 » 24.04.2016 10:17:15

Dzhangar пишет:

а не вариант откатиться на 5.5.9 версию?

Не вариант, ибо 16.04 юзает исключительно РНР от 7й версии.

WebDev пишет:

Я не пользователь linux но все же, может поможет переустановить композер:
cd ~
curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer

Cheshirrski пишет:

Обновился сегодня, в Ubuntu 16.04 можно установить через 'sudo apt-get install composer'.

Пробовал оба эти способа. Композер стал работать, обновлять пакеты и зависимости, но все равно сыплет какими-то ошибками и ворнингами.
Cheshirrski, у тебя работает без ошибок?

Подвал раздела