私はユーザープロファイルページを作成しています。私はユーザーモデルとユーザープロファイルモデルからデータを取得したいと思います。しかし、私は結果を得ることに問題があります。ここに私がやったことだ:Laravelの他の関連モデルデータにアクセスするには?
Userモデル
class User extends Authenticatable
{
use Notifiable;
/**
* The attributes that are mass assignable.
*
* @var array
*/
protected $fillable = [
'name', 'email', 'password', 'username',
];
/**
* The attributes that should be hidden for arrays.
*
* @var array
*/
protected $hidden = [
'password', 'remember_token',
];
/*
public function isAdmin() {
return $this->admin;
}
*/
public function profile() {
return $this->hasOne('App\UserProfile');
}
}
のUserProfileモデル
class UserProfile extends Model
{
protected $table = 'user_profile';
protected $fillable = [
'phone',
'address'
];
public function user() {
return $this->belongsTo('App\User');
}
}
その後、私は私のProfileControllerから
public function getProfile($username) {
$user = User::with('user_profile')->where('username', $username)->get();
dd($user);
}
に関係をアクセスし、私はこれを得ました間違いまたは:
$user = User::with('profile')->where('username', $username)->first();
また、この場合には、ユーザーオブジェクトを取得するためにfirst()
メソッドを使用する必要があります。
Call to undefined relationship [user_profile] on model [App\User].
USER_PROFILEは、私のテーブル名
構文が正しくありません。ユーザモデルのユーザとユーザプロファイルの関係を記述する。それから電話してください。 –
私はすでに関係があります。私の投稿を更新しないでください。 – Jerielle