如果在 Eloquent laravel 6 中有一对多关系,如何从其他表中获取值?

索拉布·古普特

我有2张桌子。

 1. Staff <br/>
    id | fname | lname | department

 2. Department<br/>
    id | name

员工和部门之间存在关系。部门有很多员工,员工只有一个部门。现在我正在尝试获取员工的数据。因此,department我应该从department表中获取名称,而不是在 Staff 表中。

这是我的模型 - Staff Model

class Staff extends Model
{
    protected $table = 'staff';

    protected $fillable = ['fname', 'lname', 'department'];

    function departments(){
        return $this->belongsTo(Department::class, 'department');
    }
}

和 - Department Model

class Department extends Model
{
    protected $table = 'departments';

    protected $fillable = ['name', 'updated_at'];

    function staff(){
        return $this->hasMany('App\Staff', 'department');
    }
}

在我的控制器中,我试图获取所有员工,但我正在获取部门的 ID。我需要那个部门的名字。怎么可能?

先感谢您。

阿布舍克·洪拉奥

因为它是一对多的关系department,所以你需要改变staff modelCheck-

class Staff extends Model
{
    protected $table = 'staff';

    protected $fillable = ['fname', 'lname', 'department'];

    function departments(){
        return $this->belongsTo(Department::class, 'id');
    }
}

现在,如果您想获取所有员工信息。

在你controller——

public function index(){
 $data = Staff::with('departments')->find(1);
return $data->departments->name;
}

希望它会起作用。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如果在Laravel中是必需的

如果在Laravel中禁用了用户,则限制登录

如果在 Laravel 中验证失败,则返回错误

如果在Laravel 6中使用外键的表之后列出了被引用的表,则无法在迁移中使用外键

如果存在则更新多个数据,如果在laravel中不存在则创建

如果在laravel中删除了表数据行,如何删除文件?

如果在Java中 如果在C ++中

如果在角度6中使用formGroup,则会显示一些错误

如果在Javascript ES6中为空,则从对象中删除子数组

如果在React / ES6中仅显示单个项目

如果在Angular 6中未定义值,则隐藏弹出窗口

如果在Angular 6中使用模运算符,则为ng

如果在 Laravel 中设置了任何操作参数,请做一些事情

如果在上一个查询中找到Laravel,则跳过结果

如果在Laravel 5.1中找不到路由,则显示404页面

如果在laravel中验证失败,代码将被执行还是停止?

在Laravel中,如果在控制器中使用/ else

如果在 Where NOT IN 中传递变量,则查询 laravel 不起作用

如果在ios6中删除了document文件夹,如何重新创建它?

如何在Laravel中为三个表在Eloquent模型中定义一对多以及多对多关系?

如何在 Laravel 中使用 Eloquent 获取一对多关系的数据?

如果在Cocos2d-iphone中玩5-6次后游戏会变慢

如果在laravel5中没有DB :: commit()的情况下调用DB :: beginTransaction,会发生什么?

如果在 data.frame 中

如果在linq中声明

如果在Swift 2.0中让警告

如果在 python/django 中的语句

如果在SQL Server中是

如果在Netlogo环境中实现