You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and dots ('.'), can be up to 35 characters long. Letters must be lowercase.
		
		
		
		
		
			
		
			
				
					
					
						
							72 lines
						
					
					
						
							1.6 KiB
						
					
					
				
			
		
		
	
	
							72 lines
						
					
					
						
							1.6 KiB
						
					
					
				| <?php | |
| 
 | |
| namespace App\Models; | |
| 
 | |
| // use Illuminate\Contracts\Auth\MustVerifyEmail; | |
|  | |
| use Illuminate\Contracts\Auth\MustVerifyEmail; | |
| use Illuminate\Database\Eloquent\Factories\HasFactory; | |
| use Illuminate\Database\Eloquent\Relations\HasMany; | |
| use Illuminate\Foundation\Auth\User as Authenticatable; | |
| use Illuminate\Notifications\Notifiable; | |
| use Laravel\Sanctum\HasApiTokens; | |
| 
 | |
| class User extends Authenticatable implements MustVerifyEmail | |
| { | |
|     use HasApiTokens, HasFactory, Notifiable; | |
| 
 | |
|     /** | |
|      * The attributes that are mass assignable. | |
|      * | |
|      * @var array<int, string> | |
|      */ | |
|     protected $fillable = [ | |
|         'username', | |
|         'name', | |
|         'description', | |
|         'image', | |
|         'email', | |
|         'password', | |
|         'email_verified_at' | |
|     ]; | |
| 
 | |
|     /** | |
|      * The attributes that should be hidden for serialization. | |
|      * | |
|      * @var array<int, string> | |
|      */ | |
|     protected $hidden = [ | |
|         'password', | |
|         'remember_token', | |
|     ]; | |
| 
 | |
|     /** | |
|      * The attributes that should be cast. | |
|      * | |
|      * @var array<string, string> | |
|      */ | |
|     protected $casts = [ | |
|         'email_verified_at' => 'datetime', | |
|         'password' => 'hashed', | |
|     ]; | |
| 
 | |
|     public function blogs(): HasMany | |
|     { | |
|         return $this->hasMany(Blog::class); | |
|     } | |
| 
 | |
|     public function likes() | |
|     { | |
|         return $this->belongsToMany(Blog::class, 'likes'); | |
|     } | |
| 
 | |
|     public function follows() | |
|     { | |
|         return $this->belongsToMany(User::class, 'follows', 'follower_id', 'followed_id'); | |
|     } | |
| 
 | |
|     public function followed() | |
|     { | |
|         return $this->belongsToMany(User::class, 'follows', 'followed_id', 'follower_id'); | |
|     } | |
| }
 | |
| 
 |