>  Q&A  >  본문

사용자 모델 강화

프로필 사진, 위치 등을 가져오기 위해 다른 테이블(프로필)을 사용하여 사용자 모델을 확장하려고 합니다.

이 작업을 수행하기 위해 사용자 모델의 index() 기능을 재정의할 수 있나요?

현재 모델 코드:

<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Foundation\Auth\User as Authenticatable;
use Illuminate\Notifications\Notifiable;
use Laravel\Sanctum\HasApiTokens;

class User extends Authenticatable
{
    use HasApiTokens, HasFactory, Notifiable;

    protected $fillable = [
        'name',
        'email',
        'password',
        'user_group'
    ];

    protected $hidden = [
        'password',
        'remember_token',
    ];

    protected $casts = [
        'email_verified_at' => 'datetime',
    ];
}

P粉311464935P粉311464935306일 전322

모든 응답(1)나는 대답할 것이다

  • P粉378890106

    P粉3788901062024-01-11 15:21:01

    하고 싶은 일은 User 模型和新的Profile 模型之间建立关系。为此,您首先需要创建一个模型 Profile 及其关联的 Tabble profiles

    에 있어요

    php artisan make:model Profile --migration

    파일 databasemigrations中应该有一个名为2022_11_28_223831_create_profiles_table.php

    이제 이 프로필이 속한 사용자를 나타내기 위해 외래 키를 추가해야 합니다.

    으아아아

    이제 사용자 모델에 다음 기능을 추가하세요

    으아아아

    프로필 모델에서

    으아아아

    Runphp artisan migrate 모든 것이 예상대로 작동해야 합니다

    관계가 예상대로 작동하는지 테스트하려면 새 테스트 케이스를 생성하세요

    php artisan make:test ProfileUserRelationTest

    testsFeatureProfileUserRelationTest.php

    으아아아

    이제 php artisan test를 실행하여 모든 것이 괜찮은지 확인할 수 있습니다.

    주의이렇게 하면 데이터베이스가 새로 고쳐집니다! 그러니 프로덕션 환경에서 테스트하지 마세요.

    출력은 다음과 같아야 합니다

    으아아아

    Laravel의 관계에 대해 자세히 알아보세요: https://laravel.com/docs/9.x/eloquent-relationships

    마이그레이션에 대해 자세히 알아보기: https://laravel.com/docs/9.x/migrations

    대안

    으아아아

    회신하다
    0
  • 취소회신하다