2016-08-19 111 views
0

我有一個默認的認證表用戶和另一個表user_profilesLaravel 5.2如何從兩個或多個表從關係

user(id,email,password) 
user_profiles(id,first_name,last_name,mobile) 

我使用連接這兩個表中獲取值的許多一對多的關係 對於這一點,我增加在兩個模型類 - 用戶和用戶配置關係

// User Model 
public function userProfiles() 
    { 
    return $this->belongsToMany('App\Models\UserProfile', 'user_user_profile', 
    'user_profile_id', 'user_id'); 
    } 

//UserProfile Model 

public function users() 
    { 
    return $this->belongsToMany('App\User', 'user_user_profile', 
    'user_profile_id', 'user_id'); 
    } 

和我試圖用來訪問經由用戶表中的UserProfle細節

$user=\App\User::find(1)->userProfiles()->get(); 

,但沒有工作,也試過

 /$user = \App\User::findOrFail(1)->with('userProfiles')->get(); 

,它也不能正常工作,請給

  1. 幫助獲取user_profile表細節與用戶表一起
  2. 如何訪問數據透視表(user_id,user_profile_id)值
  3. 如何將這些數據從多個表中顯示到視圖表單中?
+0

什麼不工作方式?你有什麼錯誤嗎? – jaysingkar

+0

@ jaysingkar不,沒有錯誤。當我調試輸出iam越來越null數組 –

+0

@ jaysingkar當我嘗試\應用程序用戶:: find(1) - > userProfiles() - > get(); 我越來越空陣列[2016-08-19 13:53:55] local.DEBUG:[] –

回答

1

您已經定義的關係錯在你的用戶模型:交換user_iduser_profile_id

// User Model 
public function userProfiles() 
    { 
    return $this->belongsToMany('App\Models\UserProfile', 'user_user_profile', 
    'user_id' , 'user_profile_id'); 
    } 
+0

非常感謝。完美的工作.. 我有另一個dilut,有沒有什麼辦法可以在一個單一的查詢中獲得這兩個表數據,我是從cakephp背景,蛋糕是可能的。 –

+0

我想你可以使用'with()'方法 – jaysingkar

相關問題