我有两张桌子:
***产品:id,标题,价格,created_at,updated_at
此库存产品。
*** product_details:id,product_id,销售,created_at,updated_at
此库存每天的销售数量。 例子
产品:
----- 1-产品1- 2.9-created_at,updated_at
----- 2-产品2- 3.94-created_at,updated_at
----- 3-产品3- 1.94-created_at,updated_at
product_details:
----- 1-2- 3-created_at,updated_at
----- 2-1- 6-created_at,updated_at
----- 3-3-8-created_at,updated_at
----- 4-2- 6-created_at,updated_at
----- 5-1- 7-created_at,updated_at
----- 6-3-11-created_at,updated_at
我有两个模型:
产品:
class Product extends Model
{
public function product_details()
{
return $this->hasMany('App\Product_detail');
}
}
Product_detail
class Product_detail extends Model
{
//
public function product()
{
return $this->belongsTo('App\Product');
}
}
控制器
class Test extends Controller
{
//*
public function index()
{
$products = new Product;
$today = Carbon::now()->toDateTimeString();;
$yesterday = Carbon::now()->subDays(100)->toDateTimeString();
$products = $products->product_details()->whereBetween('sell', array(1, 90000))->whereBetween('created_at', array($yesterday, $today))->get();
dd($products);
}
}
我想选择最后一天卖出5到8之间的产品。
我还想选择最近一天销售的产品在5、8之间,而created_at在两个日期之间的所有产品信息都来自Product_detail。
我尝试用不同的代码进行测试,但是失败了。
答案 0 :(得分:0)
您可以尝试使用口才帮助功能进行简单查询:
Product::whereBetween('date', [$dateOne, $dateTwo])->get();
如果您愿意,也可以尝试以下方法:
Product::where('date_one','<=',$dateOne)
->where('date_two','>=',$dateTwo)
->get();
->get();
将返回所有结果,->first()
将返回第一个结果。
由于您没有向我们显示表名,因此您当然需要在查询中放入正确的变量。