Laravel 5.5使用用户模型来建立关系

时间:2017-09-23 09:15:26

标签: php laravel

我想使用app文件夹中已有的用户模型。但它似乎只扩展了Authenticatable并且不能通过模型​​类扩展我想用它作为其他类的链接,就像用户只有一个员工一样。我还能做些什么来回收已经由Authenticatable扩展的用户模型?

感谢您的帮助:)

这是扩展可验证

的用户模型
<?php

namespace App;

use Illuminate\Notifications\Notifiable;
use Illuminate\Foundation\Auth\User as Authenticatable;

class User extends Authenticatable
{
    use Notifiable;

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

    /**
     * The attributes that should be hidden for arrays.
     *
     * @var array
     */
    protected $hidden = [
        'password', 'remember_token',
    ];

    public function employee()
    {
        return $this->belongsTo('App\Employee');
    }
}

这是员工模式

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class Employee extends Model
{

 //    protected $table = "positions";

    // public function position()
    // {
    //  return $this->hasMany('App\Position');
    // }

    protected $table = "employees";

    public function employee()
    {
        return $this->hasOne('App\User');
    }
}

1 个答案:

答案 0 :(得分:3)

它已经继承了Model类。如果你遵循Illuminate\Foundation\Auth\User,你最终会发现它是从Model类继承的。因此,您的用户模型具有与其他模型相同的功能。