Laravel - Перенаправление на конструктор моделей - PullRequest
0 голосов
/ 12 февраля 2019

У меня есть проект Laravel с некоторой моделью, которая была указана для внешних баз данных (из Magento).На конструкторе этой модели я хочу проверить переменную сеанса, чтобы изменить подключение модели к выбору пользователя.Одна из проверок должна состоять в том, что пользователь выбрал какую-то внешнюю платформу для подключения к ней, если нет, я хочу перенаправить на страницу выбора.Я пытаюсь с этим избежать истечения сеанса и ручного написания маршрута (без выбора платформы).

Как я могу перенаправить пользователя на определенную страницу в конструкторе модели?

Основная модель

class MagentoModel extends Model
{
    protected $platform;

    public function __construct(array $attributes = [])
    {
        parent::__construct($attributes);
        $this->platform = app('selectedPlatform');
        if ($this->platform->id < 1) {
            return redirect()->route('index');
            // Maybe I have to use Redirect::route('index');
        }
    }
}

Некоторая модель, расширяющая MagentoModel

class Customer extends MagentoModel
{
    public function __construct(array $attributes = [])
    {
        parent::__construct($attributes);
        $this->connection = $this->platfom->connection_key;
        $this->table = config('customersTable');
    }
}

Выдает ошибку прямо сейчас:

Пытается получить свойство 'connection_key' не-объекта

Я полагаю, что родительский конструктор (MagentoModel) не выполняется перед строкой $this->connection = $this->platfom->connection_key;.Возможно, мое понимание ООП неправильно в этом случае.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...