for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php namespace JobApis\JobsToMail\Models;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\SoftDeletes;
use Ramsey\Uuid\Uuid;
class Search extends Model
{
use SoftDeletes;
/**
* Indicates that the IDs are not auto-incrementing.
*
* @var bool
*/
public $incrementing = false;
* The attributes that are mass assignable.
* @var array
protected $fillable = [
'user_id',
'keyword',
'location',
];
* Boot function from laravel.
protected static function boot()
parent::boot();
static::creating(function ($model) {
$model->{$model->getKeyName()} = Uuid::uuid4();
});
}
* Defines the relationship to User model
* @return \Illuminate\Database\Eloquent\Relations\BelongsTo
public function user()
return $this->belongsTo(User::class);
* Limits query to "active" searches
* @return \Illuminate\Database\Eloquent\Builder
public function scopeActive($query)
return $query->whereHas('user', function ($query) {
return $query->confirmed();
* Limits query to searches by user with specific email
public function scopeWhereUserEmail($query, $email = null)
return $query->whereHas('user', function ($query) use ($email) {
return $query->where('email', $email);