首页 > 解决方案 > 将先前查询的值访问到新的嵌套查询 laravel

问题描述

我正在尝试使用先前模型的值查询数据,例如:MyModel->whereHas(MyModel.NestedModel.value > MyModel.value)

这是我正在尝试执行的代码:

我的问题是$q->where('quantity', '<', 'inventoryItems.minimum_to_shopping');,我需要一种方法来比较当前数量与以前范围的数量。

$itemShould = InventoryItemMeta::with('inventoryItems', 'inventoryItems.lastItemValue', 'inventoryItems.inventory', 'inventoryItems.inventory.property')
            ->whereHas('inventoryItems', function ($q) {
                $q->where('should_shopping', true)
                ->whereHas('lastItemValue', function ($q){
                    $q->where('quantity', '<', 'inventoryItems.minimum_to_shopping');
                });
            })->get();

标签: laravelormeloquent

解决方案


您可以尝试使用该whereColumn()函数,它用于比较两列而不是一列与一个值,即:

$q->whereColumn('quantity', '<', 'minimum_to_shopping')

推荐阅读