2016-08-01 141 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