2017-08-22 13 views
4

にあるproductsを選択する際にクエリを使用しようとしています。クリティカルレベル。したがって、製品のquantityreorder_pointよりも低い場合、基本的にクリティカルとみなされます。Laravel 5.4クエリービルダー - 2つのテーブルフィールドを持つ条件

$products = DB::table('inventory') 
      ->where('quantity', '<=', 'reorder_point') 
      ->orderBy('quantity', 'asc') 
      ->get(); 

しかし、それだけで、その行のquantity0以下に設定されると示しています

はここで私が使用しているというのが私のqueryです。ですから、私はどこの条件が0であるのre_orderpointの値asummingです。

しかし、私はphpMyAdminでこのクエリを使用するときにすべての作品:

SELECT * from inventory where quantity <= reorder_point

答えて

3

Laravelはあなたに同じテーブルの列を比較するためのwhereColumnを提供します。あなたはこのようにそれを行うことができます。

$products = DB::table('inventory') 
     ->whereColumn('quantity', '<=', 'reorder_point') 
     ->orderBy('quantity', 'asc') 
     ->get(); 

をドキュメントhereを参照してください。 ご理解いただきたいと思います。

+0

くそー!これは弟のスポットです!ははは。ありがとう、これはトリックでした。 :) 'クエリービルダー(Query Builder) 'の' where'タイプを確認するのを忘れました。 –

+0

@JanArielSanJose本当に?おめでとう:D –

関連する問題