Лучшая практика для отправки сегментов в модель? - PullRequest
0 голосов
/ 28 января 2012

Мне было интересно, что лучше перед отправкой сегмента в модель.

Например:

Получить сегмент1 из base_url / controller / query_detail / сегмента1

на моем контроллере

public function query_detail($segment1)
{
//what are the best practice before I send the segment1 to the Model?
   $this->load->model('model');
   $this->model->query($segment1);   
   ......  
} 

Надеюсь, я объясню хорошо.Спасибо за помощь.

1 Ответ

1 голос
/ 28 января 2012

Если вы имеете в виду отправку данных в модель для запуска вставки или обновления с этими данными, то передовой практикой является проверка ввода во время его отправки пользователем.Затем, поскольку codeigniter выполняет очистку данных, когда они используются в качестве связанных данных, вы можете запустить вставку как таковую:

# This would be in your model...not your controller
function store_data($post_data) {
  $sql = "INSERT INTO some_table set (fld1, fld2, fld3) VALUES (?, ?, ?)";
  $binds = array($post_data['fld1'], $post_data['fld2'], $post_data['fld3']);
  $this-db->query($sql, $binds);
}

Или, если все имена тегов ввода входящей формы соответствуют именам столбцов базы данных, вы можете простосделать это;

# This would be in your model...not your controller
function store_data($post_data) {
  $sql = "INSERT INTO some_table set (fld1, fld2, fld3) VALUES (?, ?, ?)";
  $binds = array($post_data);
  $this-db->query($sql, $binds);
}

или это;

# This would be in your model...not your controller
# Using ActiveRecord
function store_data($post_data) {
  $this->db->insert('some_table', $post_data);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...