Static analysis cleanup

This commit is contained in:
David Bomba 2023-04-27 07:46:59 +10:00
parent ff93f10f16
commit 2a926c419b
5 changed files with 18 additions and 4 deletions

View File

@ -44,6 +44,7 @@ use League\Fractal\Serializer\JsonApiSerializer;
/**
* Class BaseController.
* @method static Illuminate\Database\Eloquent\Builder exclude($columns)
*/
class BaseController extends Controller
{

View File

@ -52,7 +52,7 @@ class NinjaMailerJob implements ShouldQueue
public $override;
/* @var Company $company*/
public $company;
public Company $company;
private $mailer;

View File

@ -40,7 +40,10 @@ use Illuminate\Support\Str;
* @method static \Illuminate\Database\Eloquent\Builder|BaseModel withTrashed()
* @method \App\Models\Company company()
* @method int companyId()
* @method Builder|static exclude($columns)
* @method static Builder|static exclude($columns)
* @mixin \Eloquent
* @mixin \Illuminate\Database\Eloquent\Builder
*/
class BaseModel extends Model
{

View File

@ -821,6 +821,7 @@ use Laracasts\Presenter\PresentableTrait;
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\User> $users
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Vendor> $vendors
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Webhook> $webhooks
* @method \App\Models\User|null owner()
* @mixin \Eloquent
*/
class Company extends BaseModel
@ -1392,7 +1393,10 @@ class Company extends BaseModel
return $this->hasMany(CompanyUser::class)->withTrashed();
}
public function owner()
/**
* @return \App\Models\User|null
*/
public function owner(): ?User
{
return $this->company_users()->withTrashed()->where('is_owner', true)->first()?->user;
}

View File

@ -11,6 +11,11 @@
namespace App\Models\Traits;
/**
* @template TModelClass of \Illuminate\Database\Eloquent\Model
* @extends \Illuminate\Database\Eloquent\Builder<TModelClass>
* @mixin \Illuminate\Database\Eloquent\Builder
*/
trait Excludable
{
/**
@ -20,6 +25,7 @@ trait Excludable
*/
private function getTableColumns()
{
/** @var \Illuminate\Database\Eloquent\Builder|\App\Models\BaseModel $this */
return $this->getConnection()->getSchemaBuilder()->getColumnListing($this->getTable());
}
@ -28,11 +34,11 @@ trait Excludable
* @param Builder $query
* @param array $columns
*
* @return Builder
* @return \Illuminate\Database\Eloquent\Builder|static
*/
public function scopeExclude($query, $columns): \Illuminate\Database\Eloquent\Builder
{
/** @var Builder $query */
/** @var Builder|static $query */
return $query->select(array_diff($this->getTableColumns(), (array) $columns));
}
}