为了账号安全,请及时绑定邮箱和手机立即绑定

在laravel中反向包含()?

在laravel中反向包含()?

PHP
桃花长相依 2021-06-10 10:05:51
我是laravel的新手,我试图根据它与另一个表的多对多关系从表中获取一行。您知道何时传入多个 idcontain()以检查它们是否与该行有关系,如下所示:$row->contains([4,6,9]);我想扭转这一点,在那里我可以使用 id[4,6,9]从与它们链接的另一个表中获取任何行。
查看完整描述

1 回答

?
郎朗坤

TA贡献1921条经验 获得超9个赞

比方说,你有这两种型号:User与Role这使得许多一对多的关系。


如果你正确定义了你的关系:


/** User.php */


public function roles()

{

    return $this->belongsToMany(Role::class);

}

——


/** Role.php */


public function users()

{

    return $this->belongsToMany(User::class);

}

然后你可以使用这种关系来完成你想要做的事情。


从相关对象:


$user = User::find(1);


// getting all the roles attached with a user:

$roles = $user->roles;


// getting all the roles attached with a user that has certain ids:

$roles = $user->roles()->whereIn('id', [2, 4, 6])->get();

此外,您可以使用返回关系的集合实例找到所需的相关模型:


$user = User::find(1);


// getting all the roles attached with a user:

$roles = $user->roles;


// getting a specific role attached to a user:

$specific_role = $roles->where('id', 6)->first();



查看完整回答
反对 回复 2021-06-13
  • 1 回答
  • 0 关注
  • 156 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信