You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

62 lines
1.4 KiB

2 weeks ago
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Relations\BelongsTo;
5 days ago
use Illuminate\Database\Eloquent\Relations\BelongsToMany;
2 weeks ago
use Illuminate\Database\Eloquent\Relations\HasMany;
use Illuminate\Database\Eloquent\SoftDeletes;
use Illuminate\Foundation\Auth\User as Authenticatable;
use Laravel\Sanctum\HasApiTokens;
class MiniappUser extends Authenticatable
{
use HasApiTokens;
use SoftDeletes;
protected $fillable = [
'openid',
'unionid',
'nickname',
'avatar_url',
'name',
'mobile',
'company',
5 days ago
'job_title',
2 weeks ago
'teacher_id',
'converted_at',
'status',
];
protected $casts = [
'teacher_id' => 'integer',
'converted_at' => 'datetime',
'status' => 'integer',
];
public function teacher(): BelongsTo
{
return $this->belongsTo(Teacher::class);
}
public function courseSignups(): HasMany
{
return $this->hasMany(CourseSignup::class);
}
public function activitySignups(): HasMany
{
return $this->hasMany(ActivitySignup::class);
}
5 days ago
public function researchDirections(): BelongsToMany
{
return $this->belongsToMany(
ResearchDirection::class,
'miniapp_user_research_direction',
'miniapp_user_id',
'research_direction_id'
)->orderBy('research_directions.sort')->orderBy('research_directions.name');
}
2 weeks ago
}