| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- <?php
- namespace App\Models;
- use Illuminate\Database\Eloquent\Factories\HasFactory;
- use Illuminate\Database\Eloquent\Model;
- use Illuminate\Support\Str;
- class DashboardNote extends Model
- {
- use HasFactory;
- protected $fillable = [
- 'unique_id',
- 'text',
- 'completed',
- 'user_id'
- ];
- protected $casts = [
- 'completed' => 'boolean',
- 'created_at' => 'datetime',
- 'updated_at' => 'datetime'
- ];
- protected static function boot()
- {
- parent::boot();
- static::creating(function ($note) {
- if (empty($note->unique_id)) {
- $note->unique_id = Str::uuid();
- }
- });
- }
- public function user()
- {
- return $this->belongsTo(User::class);
- }
- public function scopeActive($query)
- {
- return $query->where('completed', false);
- }
- public function scopeForUser($query, $userId = null)
- {
- if ($userId) {
- return $query->where('user_id', $userId);
- }
- return $query->whereNull('user_id');
- }
- }
|