用户和user_info表之间的laravel关系

时间:2016-08-01 20:49:49

标签: php laravel laravel-5 laravel-5.1

我是laravel 5.1的新手,所以我有一个简单的问题。

我有用户表和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

我在哪里做错了?

1 个答案:

答案 0 :(得分:0)

这是因为命名空间不匹配。只需替换:

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

通过

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