2016-08-01 145 views
0

我是laravel 5.1的新手,所以我有一个简单的问题。laravel用户和user_info表之间的关系

我有用户表和user_info表。如果我创建一个用户,我想为user_info表创建另一个记录,如果我得到用户,那么我想获得user_info记录,但我不这样做。

代码如下。

<?php 
namespace App; 

use Illuminate\Foundation\Auth\User as Authenticatable; 

class User extends Authenticatable 
{ 

    protected $fillable = [ 
     'name', 'email', 'password', 
    ]; 

    protected $hidden = [ 
     'password', 'remember_token', 
    ]; 

    public function profile() 
    { 
     return $this->hasOne('Http\Models\userInfo'); 
    } 
} 

这是USERINFO

<?php 

namespace App\Http\Models; 

use Illuminate\Database\Eloquent\Model; 

class userInfo extends Model 
{ 
    protected $table = 'user_info'; 
} 

这是欢迎页面

@extends('master') 

@section('content') 
<div class="container"> 
    <div class="row"> 
     <div class="col-md-10 col-md-offset-1"> 
      <div class="panel panel-default"> 
       <div class="panel-heading">Welcome</div> 

       <div class="panel-body"> 
        <pre>{{ dd(Auth::user()->profile) }}</pre> 
       </div> 
      </div> 
     </div> 
    </div> 
</div> 
@endsection 

我得到这个错误

FatalErrorException in Model.php line 740: 
Class 'Http\Models\userInfo' not found 

我在哪里做错了吗?

+0

改变'$返回这 - > hasOne( 'HTTP \型号\ USERINFO');''来返回$这个 - > hasOne(USERINFO ::类) ;' – ishadif

+0

@ishadif它是工作:)。非常感谢 。我想学习像他们其中之一是我我想做一个用户模型,我怎么能做到这一点,如果我这样做,那么我可以像以前一样获得用户? – Hanik

+0

你是什么意思,你想让用户模型?如果你处理雄辩的模型,这个https://laravel.com/docs/5.2/eloquent会让你开始。对于雄辩模型关系https://laravel.com/docs/5.2/eloquent-relationships – ishadif

回答

0

这是因为名称空间不匹配。只需更换:

return $this->hasOne('Http\Models\userInfo'); 

通过

return $this->hasOne('App\Http\Models\userInfo'); 
+0

看起来几乎正确的,但需要'应用程序\ HTTP \型号\ userInfo' – user3158900

+0

@ user3158900我编辑它,为感谢很快通知我。 – motia