当Auth用户laravel 5时避免加入

时间:2015-02-24 19:37:56

标签: php laravel eloquent

我有以下表格:

  • 用户:[id,username,password]
  • 制片人:[id,user_id,...]
  • 管理员:[id,user_id,...]

我已通过用户表配置了身份验证。 因此,如果我在执行Auth::user()时登录,我只能访问用户的字段。但是,我需要能够获得制作人的领域。我必须说,用户可以是制作人或管理员,但不能同时是两者。

你知道好的文件还是要做的事情?非常感谢。

1 个答案:

答案 0 :(得分:1)

你的课应该与它有很多关系

<?php namespace App;

use Illuminate\Auth\Authenticatable;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Auth\Passwords\CanResetPassword;
use Illuminate\Contracts\Auth\Authenticatable as AuthenticatableContract;
use Illuminate\Contracts\Auth\CanResetPassword as CanResetPasswordContract;

class User extends Model implements AuthenticatableContract, CanResetPasswordContract {

    use Authenticatable, CanResetPassword;

    /**
     * The database table used by the model.
     *
     * @var string
     */
    protected $table = 'users';

    /**
     * The attributes that are mass assignable.
     *
     * @var array
     */
    protected $fillable = ['name', 'email', 'password'];

    /**
     * The attributes excluded from the model's JSON form.
     *
     * @var array
     */
    protected $hidden = ['password', 'remember_token'];


    public function producers()
    { 
        return $this->hasMany('Producer');
    } 
}

$user = Auth::user();

print_r($user->producers);