프로필 사진, 위치 등을 가져오기 위해 다른 테이블(프로필)을 사용하여 사용자 모델을 확장하려고 합니다.
이 작업을 수행하기 위해 사용자 모델의 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粉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
대안
으아아아