Laravel集合-> diff()在使用select时不起作用

时间:2019-02-22 13:39:11

标签: laravel collections

我有一个表,希望在某些列中查找差异。我正在使用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 是不同的。我怎样才能只获得那些发生了变化(差异)的对象。

0 个答案:

没有答案