I have created simple form and page to list records on form via Custom Drupal 8 Module. This form is accessible to only logged-in users with some specific role. It looks like screenshot. Whenever I submit new entry it lists record in via theme table for admin user but it does not appear for other logged-in users until I clear cache manually.
Please suggest, Thanks!
To display Records :
<?php
namespace Drupal\custom_form\Controller;
use Drupal\Core\Controller\ControllerBase;
class DisplayRecords extends ControllerBase {
public function DisplayCustomRecords() {
// Display theme table
$table_header = [
'name' => t('Name'),
'mobilenumber' => t('Phone Number'),
'email' => t('Email'),
'age' => t('Age'),
'gender' => t('Gender')
];
$results = \Drupal::database()->select('custom_for_data')
->fields('custom_for_data', [
'name',
'mobilenumber',
'email',
'age',
'gender'
])
->execute()
->fetchAll();
$rows = array();
foreach ($results as $res) {
$formatted_age = \Drupal::service('date.formatter')->format(
$res->age, 'custom', 'Y-m-d'
);
$rows[] = [
'name' => $res->name,
'mobilenumber' => $res->mobilenumber,
'email' => $res->email,
'age' => $formatted_age,
'gender' => $res->gender
];
}
$form['table'] = [
'#type' => 'table',
'#header' => $table_header,
'#rows' => $rows,
'#empty' => t('No users found'),
];
return $form;
}
}