拉拉维尔从其他表格获取信息



我有以下表格用户表,帖子表和配置文件表。 帖子属于用户,个人资料属于用户。我还有一个论坛,人们可以发布我希望用户用户名显示而不是他们的名字。但是用户名在配置文件表中,我不知道如何获取它。

这是我的代码

    class Post extends Model
{
    //
     public function users(){
        return $this->belongsToMany('AppUser','posted_by');
    }
    class Profile extends Model
{
    //
      public function users(){
        return $this->belongsTo('AppUser','whos_profile');

    }

class User extends Authenticatable
{
    use Notifiable;
    /**
     * The attributes that are mass assignable.
     *
     * @var array
     */
    protected $fillable = [
        'firstname','lastname', 'email', 'password',
    ];
    /**
     * The attributes that should be hidden for arrays.
     *
     * @var array
     */
    protected $hidden = [
        'password', 'remember_token',
    ];
   public function profile(){
      return $this->hasOne('AppProfile');
    }
    public function post(){
      return $this->hasMany('AppPost');
    }
}`enter code here`

您可以按如下方式获取它

$user = User::find($id);
if($user->profile){
   echo $user->profile->username;
}

你应该试试这个:

$rsltUsers = User::with(['profile','post'])->where('id',$id)->get();
foreach($rsltUsers as $rsltUsers){
  dd($user->profile->username);
}

最新更新