- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有两个表:事件和预订一场事件有多个预订
Event Bookings 1 1 1 2 1 3 2 //consider this as no row in bookings table 3 4 3 5 3 6 4
I need to get list of events that have no bookings, that is there is no foreign key reference of events_id in bookings table.so here Event 2 and 4.If all the events have some bookings then the one with least bookings shows up.
$query = select E.id, E.name,
count('B.event_id')
as totalbookings
from events E, bookings B where E.id = B.event_id
group by B.event_id;
获取所有事件的列表以及包含部分预订的事件的总预订量。
如何获取根本没有预订的事件数据?
最佳答案
好的。那么,您需要获取没有预订的事件吗?让我们看看这里的一些解决方案。
我们可以使用 Eloquent 来完成类似的事情。
假设您有一个包含以下方法的事件模型:
public function bookings()
{
return $this->hasMany(Bookings::class, 'FK', 'PK');
}
以及一个包含以下方法的 Bookings 模型:
public function event()
{
return $this->belongsTo(Event::class, 'FK', 'PK');
}
您可以在 Controller 中执行类似的操作:
$events = 事件::whereHas('bookings')->get()->count();
这将获取所有与预订相关的事件的集合并对其进行计数。这 Eloquent 地解决了一个问题,现在针对没有预订的事件。
Laravels Eloquent ORM 没有我们可以使用的 hasNot 方法,但是我们可以使用 Eagarloading 约束来实现您需要的结果。
我们可以通过执行以下操作来获取所有没有预订的事件:
$events = Events::whereHas("bookings", function($q) {
$q->whereNotNull('deleted_at');
}, '<', 1)->get();
我相信这应该为您提供所有没有预订的事件的集合。
让我知道你过得怎么样!
关于mysql - 最不受欢迎的事件 - 获取预订为空或最少的事件列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36822652/
我是一名优秀的程序员,十分优秀!