laravel - 将先前查询的值访问到新的嵌套查询 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();
解决方案
您可以尝试使用该whereColumn()
函数,它用于比较两列而不是一列与一个值,即:
$q->whereColumn('quantity', '<', 'minimum_to_shopping')
推荐阅读
- javascript - 如何使用 GraalVM 创建 node.js 原生镜像
- python - Kivy 如何在弹出窗口中正确使用 FileBrowser
- javascript - 迭代 knockout.js 可观察对象的 javascript 属性以创建订阅
- ruby-on-rails - 在 rspec 测试运行之前清除 sprockets 缓存
- visual-studio-code - 如何以编程方式在 VS Code 中显示 CompletionList?
- c++ - 不同范围内的 C++ 对象引用
- php - PHP shmop 重新加载时的段错误
- c# - VS2010 C# 在目标中不包括正确的 .net 框架版本
- polymer-2.x - 聚合物 2 嵌套 ShadowRoots
- ios - UILabel numberOfLines 随动画变化