在 Eloquent whereIn 子句中使用变量

Use Variable in Eloquent whereIn Clause

在 eloquent whereIn 子句中使用变量的正确方法是什么?

例如这是我的字符串变量

$testVar = 'Dave, Tom, Brad';

这是我的 eloquent 查询。

$spielerArray = Spieler::join('PlanungSpieler', 'PlanungSpieler.Player_ID', '=', 'Spieler.Player_ID')
            ->whereIn('Spieler.Name', [$testVar])
            ->get();

当我将这个 $testVar 放入查询中时,我得到了一个空结果。但这是不正确的。因为我有值 Dave Tom 和 Brad。

在你的情况下 $testVar 是字符串然后你必须转换为数组

 $testVar = 'Dave, Tom, Brad';
    $myArray = explode(',', $testVar);

之后你可以将 $myArray 传递给 whereIn

  $spielerArray = Spieler::join('PlanungSpieler', 'PlanungSpieler.Player_ID', '=', 'Spieler.Player_ID')
                ->whereIn('Spieler.Name', $myArray )
                ->get();