簡體   English   中英

如何在我的自定義類和提供程序中獲取身份驗證用戶或任何會話?

[英]how can i get auth user or any session in the my custom class and provider?

我必須得到用戶選擇的公司,但我無法在我的類和提供程序啟動功能中獲取用戶數據。

用戶可以擁有多個公司,因此用戶必須選擇一家公司進行某些操作。 但正如我所說,我無法獲得用戶選擇的公司。

像這樣 :

 public function boot()
    {

        $user = Auth::user();

        dd( $user ); // return null;

        $bid = new Bid();
        $show = $bid->check();
        Blade::directive('bid',function() use($show){
            return "<?php if( $show ) { ?>";
        });

        Blade::directive('endbid',function(){
            return '<?php } ?>';
        });
    }

我的另一堂課:

<?php

namespace App\Services\Buying\Package;

use App\Services\Buying\Package\PackageInterface;
use App\Models\Company\Company;
use Illuminate\Support\Facades\Session;
use Illuminate\Http\Request;
use App\User;

class PackageBuying extends PackageQuery implements PackageInterface
{
    private $company_id;

    public function __construct()
    {
        $user = Auth::user();

        dd( $user ); // return null

        $this->setCompanyId($this->company_id);
    }

    public function setSession( Request $request )
    {
        $request->session()->get('selected-company');
    }

    public function company()
    {
        return $this->company_id;
    }

    public function package()
    {
        if ( $this->check() ) {
            return $this->getPackage($this->company())->first();
        }

        return [];
    }

    public function features()
    {
        return (object)json_decode( $this->package()->features );
    }

    public function importantFeatures()
    {
        return (object)json_decode( $this->package()->important_features );
    }

    public function active()
    {
        return (bool) $this->getPackage()->firstOrFail()->active;
    }
}

實際上,如果我在提供程序啟動功能中獲得了用戶數據,我就可以將數據發送到我的班級。

你能幫幫我嗎?

提前致謝。

把你的構造函數中的代碼像這樣放到 calMethod 函數中

public function callAction( $method, $parameters ) {
        $user = Auth::user();
        dd( $user ); // return null
        $this->setCompanyId($this->company_id);
        return parent::callAction( $method, $parameters );
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM