大佬教程收集整理的这篇文章主要介绍了laravel eloquent:通过即将到来的预订获得第一次客户,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我有两个模型:Customer
和 Reservation
。
希望获得:即将预订的第一次客户。
目前正在通过这样的即将到来的预订吸引客户:
Customer::whereHas('reservation',function($q) {
$q->where('date','>',Carbon::Now();
})
->with('reservation');
我该怎么做:
反过来可能更容易:
Reservation::where('date',Carbon::Now())->with('customer')->orderBy('date');
但仍然不清楚如何最好地只获得第一次预订的客户。另外,我更喜欢最终得到一组带有预订的客户,而不是与客户的预订。
在这种情况下,我建议在客户模型中声明一个新关系:
public function firstupcomingReservation()
{
return $this->hasOne(Reservation::class,'customer_id')->where('date','>',Carbon::now());
}
然后你可以使用这种关系:
$values= Customer::has('firstupcomingReservation')->whereDoesntHave('reservation',function($q) {
$q->where('date','<',Carbon::now());
})->with('firstupcomingReservation')->get();
以上是大佬教程为你收集整理的laravel eloquent:通过即将到来的预订获得第一次客户全部内容,希望文章能够帮你解决laravel eloquent:通过即将到来的预订获得第一次客户所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。