一对一关联表demo_usersidusernamepasswordemail1tom123456tom123@qq.com定义了关联类UserextendsModel{protected$table='demo_users';/**如果要在User界面访问Profile的内容,必须定义如下关系*即:UserhasOneProfile[AUsercanhaveaProfile]*(Profile::class,'user_id','id')*(关联模型,从表外键,主表主键)*注意:无论是主模型还是从模型,其主外键定义都是一样的*/publicfunctionprofile(){return$this->hasOne(Profile::class,'user_id','id');}}访问控制器中的关联表数据//在控制器中的用户显示Profie数据中//Grid$grid->column('profile.nick_name',__('NickName'));$grid->column('profile.avatar_url',__('头像'));//显示$show=newShow(User::with('profile')->findOrFail($id));...$show->field('anyName',__('NickName'))->as(function(){return$this->getRelation('profile')->nick_name;});$show->field('someName',__('Avatar'))->as(function(){return$this->getRelation('profile')->avatar_url;});...表demo_profilesiduser_idnick_nameavatar_url11tomcathttp://.......DefineassociationclassProfileextendsModel{protected$table='demo_profiles';/**如果要访问Profile接口中User的内容,必须定义如下关系*即:ProfilebelongsToUser[AProfilebelongstoaUser]*(User::class,'user_id','id')*(关联模型,副表外键,主表主键)*注意:无论是主模型还是副模型,主外键定义都是一样的*/publicfunctionuser(){return$this->belongsTo(User::class,'user_id','id');}}访问控制器中关联的表数据//在Profie控制器中显示用户数据//Grid$grid->column('user.username',__('UserName'));$grid->column('user.email',__('Email'));//显示$show=newShow(User::with('profile')->findOrFail($id));...$show->field('anyName',__('用户名'))->as(function(){return$this->getRelation('user')->username;});$show->field('someName',__('Email'))->as(function(){return$this->getRelation('user')->email;});...
