Laravel-重定向模型构造函数

时间:2019-02-12 10:34:42

标签: laravel redirect model

我有一个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”

我假设在行$this->connection = $this->platfom->connection_key;之前没有执行父构造函数(MagentoModel)。在这种情况下,我对OOP的理解可能不正确吗?

0 个答案:

没有答案