2017-05-29 48 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'。 –