我有一个表,希望在某些列中查找差异。我正在使用diff():
$inventoryitems1 = InventoryItem::where('inventory_id', $request->get('inventory1'))
->select('owner_id', 'location_id', 'asset_id')
->get();
$inventoryitems2 = InventoryItem::where('inventory_id', $request->get('inventory2'))
->select('owner_id', 'location_id', 'asset_id')
->get();
$difference = $inventoryitems2->diff($inventoryitems1);
然后我得到空数组。但是,如果我没有选择收藏。它有效,它显示所有不同的行。还有其他方法可以做到这一点,或者这是正确的,但是我做错了吗?
更新 我有一个看起来像这样的$ inventoryitems1集合:
0: {asset_id: 2, owner_id: 2, location_id: 1}
1: {asset_id: 3, owner_id: 2, location_id: 1}
和$ inventoryitems1集合如下所示:
0: {asset_id: 2, owner_id: 2, location_id: 1}
1: {asset_id: 3, owner_id: 6, location_id: 1}
我正在尝试查找这两个集合中的差异,我们可以看到第二个集合中的 owner_id 是不同的。我怎样才能只获得那些发生了变化(差异)的对象。