Laravel WhereNotIn只有一个数字

时间:2017-05-16 14:30:06

标签: mysql laravel

这是代码:

For Each ProdRow In DayProd.Rows
  saisi = False
  Do While ((Not IsEmpty(Selection.Value)) And (Not saisi))
    If (Selection.Value = ProdRow(*Select that 3rd cell*).Value) Then
        ....                  
    End If
  Loop
Next

我不知道为什么变量$都无效。 在列出的时候只隐藏第一公寓“32”。无论如何,休息公寓名单。但是如果我复制whereNotIn中的所有数字然后工作??? 我需要这个变量@all! 我的表中有变量。我尝试使用$all = "32,34,24,28,31"; $show_app = DB::table('apartments') ->whereNotIn('id', [$all]) ->get(); ,只显示一个->toSql()而不是五个"?"

2 个答案:

答案 0 :(得分:1)

我不是一个laravel用户,但在你的all变量中,为什么不直接分配数组而不是保存为字符串?

实施例: 而不是:

$all = "32,34,24,28,31";

为什么不呢?

$all = [32,34,24,28,31]; 

然后使用$ all变量:。

 $show_app =    DB::table('apartments') ->whereNotIn('id', $all) ->get();

答案 1 :(得分:0)

我发现了我的问题: 我必须使用爆炸

$result="";
foreach($prikaz_bookinga as $prikaz_booking) :  
$result.=$prikaz_booking->id.','; 
endforeach ;
$all=rtrim($result, ',');

然后在查询中添加此内容。

 ->whereNotIn('id', explode(',', $all))

现在我去喝啤酒。这8天工作。