Я храню все настройки своего веб-сайта в таблице с именем mh_settings.Таблица mh_setting имеет 2 поля, а именно: имя varchar (255) и тип varchar (255).
В моем MY_Controller.php в основной папке и в конструкторе я читаю имя и ключ в config_item () следующим образом:
$appConfigOptions = $this->MH_settings_model->mh_get_configurations();
if($appConfigOptions) {
foreach($appConfigOptions as $appConfigOption)
{
$this->config->set_item($appConfigOption->key,$appConfigOption->value);
}
}
Модель получает элементы конфигурации следующим образом:
class MH_settings_model extends CI_Model {
protected $table;
public function __construct() {
$this->table = 'mh_settings';
}
public function mh_get_configurations() {
$query = $this->db->get($this->table);
return $query->result();
}
}
По какой-то причине, даже если я ввожу приведение mh_site_up_public со значением в базе данных FALSEкажется, это всегда делает его строкой.
if(((boolean) $this->config->item('mh_site_up_public')) == FALSE) {
show_error($this->config->item('mh_site_down_public_message'));
}
Я попытался (bool) вместо (boolean).
Я попытался поиграться с == и ===
Есть идеи?