gpt4 book ai didi

php - 仅当表包含来自不同行的多个所需值时如何从表中获取 ID

转载 作者:行者123 更新时间:2023-11-30 21:36:37 24 4
gpt4 key购买 nike

我有一个包含channel_id, user_idchannel_members 表。如果有多行使用相同的 channel_id,其中包含我将提供的多个 user_id,我需要获取 channel_id

例子:如果表中有5行

CHANNEL_ID | USER_ID   
2 | 2
2 | 3
2 | 4
3 | 2
3 | 4

我需要获取 user_id 2、3 和 4 正在使用的 channel_id。所以根据我提供的上表。我应该得到 channel_id 2。

最佳答案

我假设你已经定义了你的关系 uisng 模型,根据你提供的描述, channel 与用户有多对多的关系

class Channel extends Model
{
public function members()
{
return $this->belongsToMany('App\User', 'channel_members', 'channel_id', 'user_id');
}
}

使用 eloquent realtions 你可以检查相关模型是否存在

$channels = App\Channel::whereHas('members', function ($query) {
$query->where('id', '=', 2);
})->whereHas('members', function ($query) {
$query->where('id', '=', 3);
})->whereHas('members', function ($query) {
$query->where('id', '=', 4);
})->get();

以上将根据提供的 ID 仅返回与所有 3 个用户有关联的 channel

Querying Relationship Existence

关于php - 仅当表包含来自不同行的多个所需值时如何从表中获取 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53644071/

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