比较laravel

时间:2018-01-15 00:18:38

标签: php mysql laravel-5.2

提前抱歉不合适的问题。我是php和laravel的初学者。想知道我在以下代码片段中的错误。

$customer_vlan = Customer::select('vlan_id')->get();
$vlans = Vlans::where(function($query) use ($customer_vlan){
$query->where('id','!=',$customer_vlan);
})->get();

我在数据库中有两个表。“Customer”表有一个列'vlan_id'。在第一个查询中,我试图获取使用过的vlan_id。

对于第二个表“Vlans”,列'id'包含所有可能的vlan。所以我想找到哪些vlan没用过。

1 个答案:

答案 0 :(得分:2)

您正在尝试将ID与集合进行比较。然后结果是所有Vlans

$query->where('id','!=',$customer_vlan);

我认为最好的方法是循环$customer_vlan集合并将$customer_vlan[$i]->id推送到数组。然后你可以使用它:

$query->whereNotIn('id', $arrayOfId);