你能帮我建一个查询,找到Laravel Eloquent的免费日期。
所以我有两个模型,节点和预订。 模型与HasMany关系相关
RewriteEngine
RewriteCond
RewriteRule
预订模式具有以下结构:
public function dates()
{
return $this->hasMany(Booking::class, 'object_id', 'nid');
}
我的目的是在给定日期之间找到可用的节点。
所以,如果我想在(例如created_at)之间搜索一个日期,那很简单:
| bid | object_id | checkin | checkout |
| 1 | 32 | 2017-04-25 | 2017-04-28 |
| 2 | 32 | 2017-05-01 | 2017-05-09 |
| 3 | 44 | 2017-04-21 | 2017-04-24 |
| 4 | 51 | 2017-05-01 | 2017-05-08 |
但是如何在签到和结帐两个日期之间创建搜索查询?
答案 0 :(得分:2)
你的意思是这样的?
$query->where('checkin','<=', $date)
->where('checkout','>=', $date);
您也可以将其添加到范围:Laravel query-scopes