for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
namespace App\Models;
use App\Traits\HasUUID;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\MorphTo;
class Contact extends Model
{
use HasFactory;
use HasUUID;
/**
* The attributes that are mass assignable.
*
* @var array
*/
protected $fillable = [
'name',
'user_id',
'source_type',
'source_id',
];
* Scope a query to only include active users.
* @param \Illuminate\Database\Eloquent\Builder $query
* @param string $user_id
* @return \Illuminate\Database\Eloquent\Builder
public function scopeForUser($query, $user_id)
return $query->where('user_id', $user_id);
}
* Get the owner model of the contact.
* @return \Illuminate\Database\Eloquent\Relations\MorphTo
public function source(): MorphTo
return $this->morphTo('source', 'source_type', 'source_id', 'id');