【问题标题】:Laravel - Filtering a Model by Condition between "a Field and Its Relationship Model Field"Laravel - 按“字段及其关系模型字段”之间的条件过滤模型
【发布时间】:2021-01-19 10:05:22
【问题描述】:

我有这两个模型是一对一的关系。

“产品”

  • 身份证
  • 姓名
  • 最低要求

“产品数据”

  • 身份证
  • product_id
  • 价格
  • oh_hand

我想获取其 on_hand 小于的 product_data 计数 其相关产品的 minimum_required。

我已经尝试过子查询,但我仍然无法弄清楚。我想要的查询可能看起来像这样。

$low_products_count = ProductDetail::where('on_hand', '<', Product::select('minimum_required')->count();

【问题讨论】:

    标签: php laravel eloquent orm subquery


    【解决方案1】:

    你可以加入表格然后使用'whereColumn':

     $low_products_count =Product::join('product_data','product_data.product_id','=',
        'products.id')->whereColumn('product_data.on_hand','<','products.minimum_required')->get();
    

    【讨论】:

      【解决方案2】:

      我对 eloquent 没有经验所以在这里,我与查询生成器分享我的知识。

      你可以这样做->

      $low_products_count=DB::table('products')
                          ->join('product_data','product_data.product_id','=',
                           'product.id')
      ->where('product_data.on_hand','<','products.minimum_required')->get();
      

      你可以使用这个概念。

      【讨论】:

        猜你喜欢
        • 2018-08-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-03-25
        • 2022-10-24
        • 1970-01-01
        • 2020-07-24
        相关资源
        最近更新 更多