2017-05-29 49 views
1

我有兩個表usersuser_details。我有聯繫users表作爲Laravel關係不工作:getConnectionName()錯誤

public function userDetails() 
{ 
    return $this->hasOne('App\Repositories\Models\UserDetails', 'id', 'user_id'); 
} 

和鏈接user_details表作爲

public function user() 
{ 
    return $this->belongsTo('App\Repository\Models\User'); 
} 

雖然從UserController用於訪問用戶的數據與信息,如果我試圖訪問數據

return $this->user->with('userDetails')->get(); 

我得到這種類型的錯誤

FatalErrorException in HasRelationships.php line 488: Call to undefined method 

App\Repositories\Models\UserDetails::getConnectionName() 

有什麼不對嗎?

回答

5

確保UserDetails類擴展Model類:

use Illuminate\Database\Eloquent\Model; 

class UserDetails extends Model 
1

您還可以清理你這樣的代碼。使用整齊的代碼將使您的代碼更有價值,並且稍後您返回代碼時,其他開發人員可以更容易理解或記住您的代碼。

use Illuminate\Database\Eloquent\Model; 
use App\Repository\Models\User; 
use App\Repository\Models\UserDetails; 

public function user() 
{ 
    return $this->belongsTo('User'); 
} 
public function userDetails() 
{ 
    return $this->hasOne('UserDetails', 'id', 'user_id'); 
} 
+0

肯定會的。我用'User :: class'和'UserDetails :: class'。 –