我有一个事件
和用户
模型,其中有一个名为事件_用户
的数据透视表。在透视表中,当用户按下“参与”按钮时,会保存事件id
和用户id
。
我已经显示了所有的事件列表。现在我想显示作为参与而不是作为参与而参与的事件。
我试过控制器
public function vieweventlist()
{
$data['events'] = Event::with('users')->get();
return view('page',$data);
}
刀片文件
@foreach($events as $event)
<h1>Event Name</h1>
@foreach($event->users as $check)
@if($check->pivot->user_id == auth()->user()->id && $check->pivot->event_id == $event->id)
<button type="button" class="btn participateevent" disabled>Participated</button>
@else
<button type="button" class="btn participateevent">Participate</button>
@endif
@endforeach
@endforeach
我已经在事件
和用户
模型中设置了belongtomany
关系。
这段代码的问题是第二个foreach循环是pivot表循环。假设透视表中有一个数据。我列出了5个事件。由于pivot table foreach(第二个)的缘故,刀片文件中只显示一个参与的按钮,但不显示@else参与按钮。
您的第二个foreach使得只有有参与者(无论是否登录用户)的事件才会显示按钮(参与或参与)。如果事件没有附加任何用户,则不会显示任何按钮。
如果您想获取包含“当前用户是否已经参与”信息的事件列表,那么这里有一个更好的方法。
控制器
public function vieweventlist(){
$data['events'] = Event::withCount('users', function($user) {
$user->where('id','=', auth()->id());
})->get();
return view('page',$data);
}
刀身
@foreach($events as $event)
<h1>Event Name</h1>
@if($event->users_count)
<button type="button" class="btn participateevent" disabled>Participated</button>
@else
<button type="button" class="btn participateevent">Participate</button>
@endif
@endforeach
A 数据透视表介绍 B.1 什么是数据透视表? 数据透视表是一种可以快速汇总、分析大量数据表格的交互式工具。使用数据透视表可以按照数据表格的不同字段从多个角度进行透视,并建立交叉表格,用以查看数据表格不同层面的汇总信息、分析结果以及摘要数据。使用数据透视表可以深入分析数值数据,以帮助用户发现关键数据,并做出有关企业中关键数据的决策。 数据透视表是针对以下用途特别设计的:以友好的方式,查看大量的数据
数据透视表显示二维交集的度量值,并在表格视图中表示数据。 图表属性 选择图表类型后,可以更改其属性来自定义图表: 选项 描述 常规 背景颜色 设置图表区域的背景颜色。 不透明度 设置背景颜色的不透明度。 显示边框 显示图表外部边框。 边界颜色 设置图表外部边框的颜色。 显示标题 显示图表的主要标题。 标题 指定图表的标题。 标题字体 设置标题的字体样式。 位置 设置标题的位置。 对齐 设置标题的水
数据透视表显示二维交集的度量值,并在表格视图中表示数据。 图表属性 选择图表类型后,可以更改其属性来自定义图表: 选项 描述 常规 背景颜色 设置图表区域的背景颜色。 显示边框 显示图表外部边框。 边界颜色 设置图表外部边框的颜色。 显示标题 显示图表的主要标题。 标题 指定图表的标题。 标题字体 设置标题的字体样式。 位置 设置标题的位置。 对齐 设置标题的水平对齐方式。 数据 字体 设置字段名
数据透视表显示二维交集的度量值,并在表格视图中表示数据。 图表属性 选择图表类型后,可以更改其属性来自定义图表: 选项 描述 常规 背景颜色 设置图表区域的背景颜色。 不透明度 设置背景颜色的不透明度。 显示边框 显示图表外部边框。 边界颜色 设置图表外部边框的颜色。 显示标题 显示图表的主要标题。 标题 指定图表的标题。 标题字体 设置标题的字体样式。 位置 设置标题的位置。 对齐 设置标题的水
问题内容: 我想显示给定下表的数据透视表(交叉表)。 桌子: 插入: 现在,我想显示上述数据的数据透视表,如下所示: 预期结果 : 说明 :我想显示的每个员工都有,这是目前所有员工,节目中有多少组的员工可用,必须显示该员工在其他的也GROUP_NAME没有分配给哪些可用最后必须以数据透视格式显示。 问题答案: SELECT * FROM crosstab( $$SELECT grp.*, e.gr
问题内容: 我的MySQL数据库具有以下列标题: 我有兴趣根据typeOfWork和月份显示结果。例如,所有typeOfWork条目将显示在左侧的第一列中,并且每个字段将在每一列的指定月份总计该特定typeOfWork。因此,我的SQL数据透视表语句当前为: 我目前遇到语法错误,指定了最后一行(从’DEC到ROLLUP’)。我感到困惑的原因是,我只是从脚本中的另一个工作枢轴表改编了该表。我认为差异