如何在Popover中整合函数:展示推荐用户姓名及活跃状态
解决Popover中同时显示推荐用户姓名与活跃状态的问题
我来帮你搞定这个问题!核心问题在于你当前的nnIndicateds()函数只返回了用户姓名的列表,没有结合每个用户的活跃状态;而直接调用getStatus()只会返回当前用户(不是推荐用户)的状态,这就是为什么你看到状态孤零零显示在所有姓名下方。
修改步骤:
1. 更新nnIndicateds()函数,整合姓名与状态
把原来只提取姓名的逻辑改成遍历所有推荐用户,同时获取每个用户的活跃状态,生成完整的列表项:
public function nnIndicateds() { // 获取所有推荐用户的完整实例,而非仅姓名 $indicatedUsers = User::where('referrer_id', $this->id)->get(); $listItems = []; foreach ($indicatedUsers as $indicatedUser) { // 调用当前推荐用户的getStatus()方法获取状态 $status = $indicatedUser->getStatus(); // 拼接姓名与状态,生成单个列表项 $listItems[] = "<li>{$indicatedUser->name} {$status}</li>"; } // 拼接所有列表项并返回 return implode('', $listItems); }
2. 调整HTML的Popover内容
因为函数已经生成了每个<li>元素,所以只需要将其包裹在<ol>标签中即可:
<img class="img-avatar img-avatar-thumb" data-placement="top" src="uploads/positive.png" width="30" height="30" data-html="true" data-container="body" data-original-title="My Indirects" data-content="<ol>{{$user->nnIndicateds()}}</ol>" data-toggle="popover" style="cursor:pointer;">
额外提示:
注意你的getStatus()函数里有个拼写错误:'Inative'应该修正为'Inactive',避免显示错误的状态文本~
内容的提问来源于stack exchange,提问作者Atila Oliveira
相关产品推荐
相关产品推荐

