我返回的视图如下:
public function leaderboard()
{
return ['view' => View::make('phones.leaderboard-table', ['data' => $this->leaderboardData()])->render(), 'counts' => $this->counts()];
}排行榜的数据:
public function leaderboardData()
{
$date = Input::get('date') ? \Carbon\Carbon::parse(Input::get('date')) : \Carbon\Carbon::now();
$leaderboard_data = [];
$query = DB::table('phones_calls AS PC')
->select('U.id',
DB::raw('CONCAT(UD.firstName, " fff", UD.lastName) AS trader_name'),
DB::raw('COUNT(*) AS total_calls'),
DB::raw('SUM(talkTime) AS talk_time'),
DB::raw('AVG(talkTime) AS talk_time_avg'),
DB::raw('MAX(date) AS last_call')
)
->join('users AS U', 'U.id', '=', 'PC.userId')
->leftJoin('users_details AS UD', 'UD.userId', '=', 'U.id')
->leftJoin('company_zones AS CZ', 'CZ.id', '=', 'U.zone_id');
if (Input::get('period') == 'week') {
$query->where(DB::raw('DATE(PC.date)'), '>=', $date->startOfWeek());
} elseif (Input::get('period') == 'month') {
$query->where(DB::raw('DATE(PC.date)'), '>=', $date->startOfMonth());
} elseif (Input::get('period') == 'year') {
$query->where(DB::raw('DATE(PC.date)'), '>=', $date->startOfYear());
} else {
$query->where(DB::raw('DATE(PC.date)'), $date->toDateString());
}
$query->where('didConnect', 1)
->where('departmentId', 5)
->where('U.enabled', 1);
if (Input::get('zone')) {
$zone_ranges = explode(',', Input::get('zone'));
$left = $zone_ranges[0];
$right = $zone_ranges[1];
$query->where('CZ.l', '>=', $left)
->where('CZ.r', '<=', $right);
} else {
$zone_ranges = explode(',', Auth::zone()->lr);
$left = $zone_ranges[0];
$right = $zone_ranges[1];
$query->where('CZ.l', '>=', $left)
->where('CZ.r', '<=', $right);
}
$query->orderBy(DB::raw('SUM(talkTime)'), 'desc')
->groupBy('U.id');
$q2 = clone $query;
$q3 = clone $query;
$outbound_data = $query->where('callTypeId', 2)->get();
$inbound_data = $q2->where('callTypeId', 3)->get();
$internal_data = $q3->where('callTypeId', 1)->get();
foreach ($outbound_data as $data) {
$leaderboard_data[$data->id]['trader_name'] = $data->trader_name;
$leaderboard_data[$data->id]['outbound'] = $data;
}
foreach ($inbound_data as $data) {
$leaderboard_data[$data->id]['trader_name'] = $data->trader_name;
$leaderboard_data[$data->id]['inbound'] = $data;
}
foreach ($internal_data as $data) {
$leaderboard_data[$data->id]['trader_name'] = $data->trader_name;
$leaderboard_data[$data->id]['internal'] = $data;
}
return $leaderboard_data;
}视图‘phones.leaderboard.phones.leaderboard table’:
@foreach($data as $id => $row)
<tr data-user-id="{{$id}}" class="{{($i == 1 ? "row-success" : "")}}{{Auth::id() == $id ? ' row-me' : ''}}">
<td>{{$i++}}</td>
<td>{{$row['trader_name']}}</td>
<td>{{(isset($row['internal']) ? ($drilldown ? "<a href='#' class='drilldown' data-call-type-id='1'>" : "").number_format($row['internal']->total_calls).($drilldown ? "</a>" : "") : "-")}}</td>
<td>{{(isset($row['internal']) ? formatSeconds($row['internal']->talk_time) : "-")}}</td>
<td>{{(isset($row['internal']) ? formatSeconds($row['internal']->talk_time_avg) : "-")}}</td>
<td>{{(isset($row['internal']) ? \Carbon\Carbon::parse($row['internal']->last_call)->diffForHumans() : "-")}}</td>
<td>{{(isset($row['inbound']) ? ($drilldown ? "<a href='#' class='drilldown' data-call-type-id='3'>" : "").number_format($row['inbound']->total_calls).($drilldown ? "</a>" : "") : "-")}}</td>
<td>{{(isset($row['inbound']) ? formatSeconds($row['inbound']->talk_time) : "-")}}</td>
<td>{{(isset($row['inbound']) ? formatSeconds($row['inbound']->talk_time_avg) : "-")}}</td>
<td>{{(isset($row['inbound']) ? \Carbon\Carbon::parse($row['inbound']->last_call)->diffForHumans() : "-")}}</td>
<td>{{(isset($row['outbound']) ? ($drilldown ? "<a href='#' class='drilldown' data-call-type-id='2'>" : "").number_format($row['outbound']->total_calls).($drilldown ? "</a>" : "") : "-")}}</td>
<td>{{(isset($row['outbound']) ? formatSeconds($row['outbound']->talk_time) : "-")}}</td>
<td>{{(isset($row['outbound']) ? formatSeconds($row['outbound']->talk_time_avg) : "-")}}</td>
<td>{{(isset($row['outbound']) ? \Carbon\Carbon::parse($row['outbound']->last_call)->diffForHumans() : "-")}}</td>
<td>{{($drilldown ? "<a href='#' class='drilldown' data-call-type-id='0'>" : "").number_format(((isset($row['inbound']) ? $row['inbound']->total_calls : 0)+(isset($row['outbound']) ? $row['outbound']->total_calls : 0))).($drilldown ? "</a>" : "")}}</td>
<td>{{formatSeconds((isset($row['inbound']) ? $row['inbound']->talk_time : 0)+(isset($row['outbound']) ? $row['outbound']->talk_time : 0))}}</td>
</tr>
@endforeach问题是,无论我如何改变SQL等,它都不会更新。
如何禁用此页的视图缓存?或者,有没有更好的方法来获得这种观点?
发布于 2015-11-23 17:02:36
尝试执行以下命令:php artisan cache:clear
如果不起作用,请备份您的应用程序目录,然后尝试手动删除这些目录中的所有内容:
app/storage/views/
app/storage/cache/
注意:不要删除目录本身,因为Laravel会抱怨,只删除其中的所有文件。
https://stackoverflow.com/questions/33866537
复制相似问题