获取具有字段值并且该值是给定数组的一部分的用户的雄辩查询是什么?

问题描述 投票:0回答:1

我有这样的用户记录

id 田野
1 [“时尚”,“商业”]
2 [“商业”]

我想让用户如何至少有一个字段构成该数组[“fashion”,“food”,“sport”]

php mysql laravel eloquent laravel-query-builder
1个回答
0
投票

虽然你可以使用 whereIn() ,例如:

$users = DB::table('users')
             ->whereIn('fields', ["fashion", "food", "sport"])
             ->get();

由于您的“字段”列结构,我认为它不会返回任何内容。可能最简单的方法是获取所有用户并使用

array_intersect()
过滤它们,它看起来像这样:

foreach($users as $user){
    if (array_intersect($user, $fields)) {
        $filteredUser[] = $user;
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.