Класс таблицы CodeIgniter:Добавьте ссылку Из Сгенерированной ячейки
-
06-07-2019 - |
Вопрос
Я использую класс table, который автоматически генерирует таблицу для меня из массива данных, извлеченных из моей базы данных.
Модель:
function get_reports_by_user_id($userid)
{
return $this->db->get_where('ss2_report',array('userid' => $userid))->result_array();
}
Контроллер:
function index()
{
echo $this->table->generate($this->mymodel->get_reports_by_user_id('1234'));
}
Контроллер в конечном итоге будет перемещен в представление, когда я заставлю его работать.Это создает таблицу просто отлично, но я бы хотел добавить ссылку на поле.Например, в id
столбец, который позволил бы мне ссылаться на страницу с данными только по идентификатору этого отчета.Я знаю, что могу просто вывести таблицу старомодным способом вручную.Затем я могу добавить любые ссылки, которые захочу, но мне бы хотелось иметь возможность использовать автоматическую генерацию как можно чаще.Должен быть способ сделать что-то столь же распространенное, как связывание ячейки таблицы.У кого-нибудь есть какие-нибудь идеи?
Редактировать:
Пользователь Java PHP в основном это находится прямо внизу.Вот код, который заставляет это работать:
function get_reports_by_user_id($userid)
{
$rows = $this->db->get_where('ss2_report',array('userid' => $userid))->result_array();
foreach ($rows as $count => $row)
{
$rows[$count]['id'] = anchor('report/'.$row['id'],$row['id']);
}
return $rows;
}
Мне просто нужно было заменить значение в исходном массиве версией текста привязки.
Решение
Единственный способ заключается в том, что в функции get_reports_by_user_id()
, вы бы перебрали все результаты и добавили <a href>
привязать тег к идентификаторам.Что - то вроде этого:
function get_reports_by_user_id($userid)
{
$rows=$this->db->get_where('ss2_report',array('userid' => $userid))->result_array();
foreach ($rows as $row)
{
$row->id=anchor('site.com/some_controller/some_function/'.$row->id,$row->id);
}
return $rows;
}
Я не использую библиотеку базы данных CodeIgniter, поэтому я не уверен, какой формат она возвращает $rows
в, но приведенный выше код должен дать вам общее представление о том, что вам нужно сделать.
Другие советы
Одна из идей могла бы заключаться в том, чтобы сделать что-то вроде..
foreach ($row in $this->mymodel->get_reports_by_user_id('1234'))
{
$row->id = anchor(site_url(array('report', 'user', $row->id)), $row->id);
$this->table->add_row($row);
}
$this->table->generate();