在 Laravel 框架中,render()
方法通常用于视图的渲染。
它允许您将数据传递到视图模板,并生成最终的输出响应。
在控制器中
public function index(Content $content){
return $content
->header('工作人员绩效管理')
->description('详细页')
->body($this->render());
}
public function list(){
$worker_id = DB::table('tm_worker')->select('userid')->get()->toArray();
$json =[];
foreach ($worker_id as $v)
{
$list_name=DB::table('tm_worker')->select('username')->where('userid',$v->userid)->first()->username;
$list_count=DB::table('tm_evaluate')->where('workid',$v->userid)->count();
if($list_count != 0) {
$list_score = DB::table('tm_evaluate')->where('workid', $v->userid)->sum('score') / $list_count;
}else
$list_score = 0;
$json[] = [
'名称' => $list_name,
'完成数量' => $list_count,
'平均评价' => $list_score,
];
}
return Table::make(['名称', '完成数量', '平均评价'], $json);
}
protected function render(){
return <<<HTML
<div class="table-responsive" style="margin-top: 20px; color: #0a6aa1 border:1px solid #e5e9f2;border-radius: 5px;padding: 10px;background-color: #fff;box-shadow: 0 1px 2px 0 rgba(0,0,0,.05);""> //设置样式
{$this->list()
</div>
}
HTML;
}
以上代码实现把list()函数得到的列表数据通过渲染表现在页面上
