У меня есть база данных, которая содержит две метки времени (date_ticket_reported, date_ticket_resolved), я хочу вычислить среднюю разницу во времени между этими временами для каждого resolved_by user_id.
В каждой строке есть столбец (resolved_by), который соответствуетa user_id.
Для каждого user_id будет несколько строк.
Я пробовал различные подходы, включая следующие.
ticket_model.php code
public function get_resolved_time_by_user($user_id){
$query1 = $this->db->select('resolved_date')->from('tickets')->where('resolved_by',$user_id)->get();
$resolved1 = $query1->row();
$query2 = $this->db->select('ticket_date_reported')->from('tickets')->where('resolved_by',$user_id)->get();
$reported1 = $query2->row();
$resolved2 = $resolved1->resolved_date;
$reported2 = $reported1->ticket_date_reported;
foreach($resolved2 as $row){
//Convert them to timestamps
$reported_dateTimestamp = strtotime($resolved2);
$resolved_dateTimestamp = strtotime($reported2);
$diff = $resolved_dateTimestamp - $reported_dateTimestamp;
return $diff;
}
}
Код вида билета
<p> Average Resolve Times <?php echo $this->ticket_model->get_resolved_time_by_user($user_id); ?> </p>
Итак, подведем итог;Я хочу отобразить среднее время между date_ticket_reported, date_ticket_resolved.Для каждого указанного user_id.
Любая помощь была бы потрясающей!
Я попытался ответить Малхази Дарцмелидзе,
$this->db->query("SELECT
AVG(TIMESTAMPDIFF(SECOND, resolved_date, ticket_date_reported)) as timediff,
resolved_by as user
FROM tickets
GROUP BY resolved_by");
Я получаю сообщение об ошибке, говорящее, что объект класса CI_DB_mysqli_result не можетпреобразовать в строку
Где вы говорите resolved_by как пользователь.Должен ли «пользователь» быть user_id?то есть должен ли он сказать "resolved_by as user_id"?