gpt4 book ai didi

Laravel属于只有一个结果的多关系

转载 作者:行者123 更新时间:2023-12-04 11:56:00 25 4
gpt4 key购买 nike

我在两个表之间建立了关系,其中一个连接表只有一个结果。

当我定义 Laravel 的belongsToMany 关系时,与其返回一个只有一个元素的集合,不如让它单独返回该项目。

有没有办法在 Laravel 中对此进行建模?

提前致谢。

[ 编辑 ]

我将尝试使用经典的用户/角色示例来解释我想要什么。除了德usersroles表,我们将有一个 users_roles数据透视表将存储用户拥有的所有角色。在任何给定时间,用户只能拥有一个事件角色(由 active 属性标识为 true )。

class User {
function role() {
return $this->belongsToMany('App\Role')->wherePivot('active', 'true');
}
}

有了这个关系定义,当我访问 $user->role我得到了一个角色集合(只有一个元素)。我想要的是直接拥有该 Role 实例。

最佳答案

如果你只需要一个关系,我不知道为什么你有belongsToMany,但是下面的代码可以帮助你:

public function products()
{
return $this->belongsToMany('App\Product');
}

public function specific_product()
{
return $this->products()
->where('column','value')->first();
}

或者
public function getSpecificProductAttribute()
{
return $this->products()
->where('column','value')->first();
}

关于Laravel属于只有一个结果的多关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55591571/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com