Короче говоря, я использую Fullcalendar с Codeigniter.Я использую цветовое кодирование событий в календаре в зависимости от категории события.
В панели администратора Admin может добавить категорию события и предоставить имя и цвет (из меню выбора).Шестнадцатеричное значение сохраняется в базе данных.
Когда администратор добавляет событие, они добавляют заголовок, описание, начало, конец и категорию.
Категория - это меню выбора из категорий событий, извлеченное из базы данных.
Когда я добавляю новое событие, я хочу использовать имя категории события, получить его цвет и затем сохранить его вместе с событием вбаза данных в последнем столбце выглядит так:
Сохранение события:
Я использую проверку формы codeigniter, и если все поляя пытаюсь получить цвет из таблицы категорий событий и добавить его к событию в моем массиве $ save_data:
public function add_save()
{
$this->form_validation->set_rules('title', 'Title', 'trim|required|max_length[500]');
$this->form_validation->set_rules('start', 'Start', 'trim|required');
$this->form_validation->set_rules('end', 'End', 'trim|required');
$this->form_validation->set_rules('description', 'Description', 'trim|required|max_length[1000]');
$this->form_validation->set_rules('category', 'Category', 'trim|required|max_length[100]');
$this->form_validation->set_rules('has_attendance', 'Has Attendance', 'trim|max_length[1]');
$this->form_validation->set_rules('is_recurring', 'Is Recurring', 'trim|required|max_length[1]');
if ($this->form_validation->run()) {
// I am adding this to capture color from event_category table
// 1. use the input category field from event
// 2. then I select all from event_category table
// 3. WHERE name is equal to the selected category name from input
// 4. The color is the reulting rows color field
$selected_event_category = $this->input->post('category');
$this->db->get('event_category');
$this->db->where('name',$selected_event_category);
$the_color = $this->db->get()->result()->row('color');
$save_data = [
'title' => $this->input->post('title'),
'start' => $this->input->post('start'),
'end' => $this->input->post('end'),
'description' => $this->input->post('description'),
'category' => $this->input->post('category'),
'has_attendance' => $this->input->post('has_attendance'),
'is_recurring' => $this->input->post('is_recurring'),
'color' => $the_color //I have added this from above query
];
$save_events = $this->model_events->store($save_data);
} else {
$this->data['success'] = false;
$this->data['message'] = validation_errors();
}
echo json_encode($this->data);
}
Я попытался выполнить запрос и сохранить результат в переменной с именем$ the_color.Затем я использую эту переменную в своем массиве $ save_data в качестве значения цвета.
Но форма не будет опубликована, и я не получаю никаких ошибок.Событие не будет сохранено, оно вообще не попадет в базу данных.
Я надеюсь, что кто-то может помочь указать, где я ошибаюсь?