<?php namespace App\Abstracts; use App\Models\Auth\User; use App\Models\Common\Company; use App\Traits\Jobs; use Illuminate\Database\Eloquent\Factories\Factory as BaseFactory; use Illuminate\Database\Eloquent\Model as EloquentModel; abstract class Factory extends BaseFactory { use Jobs; /** * @var Company */ protected $company; /** * @var User|EloquentModel|object|null */ protected $user; public function __construct(...$arguments) { parent::__construct(...$arguments); $this->user = User::first(); $this->company = $this->user->companies()->first(); session(['company_id' => $this->company->id]); setting()->setExtraColumns(['company_id' => $this->company->id]); } public function getCompanyUsers() { return $this->company->users()->enabled()->get()->pluck('id')->toArray(); } }