Код: Выделить всё
class Users_model extends CI_Model
{
public function createTable()
{
if ($this->db->table_exists('users') == FALSE) {
$query = "CREATE TABLE users(
id SERIAL PRIMARY KEY,
email VARCHAR(52) NOT NULL check(email ''),
UNIQUE (email)
)ENGINE = InnoDB;";
$this->db->query($query);
}
}
public function deleteTable()
{
if ($this->db->table_exists('users')) {
$query = "DROP TABLE users;";
$this->db->query($query);
} else {
echo "users not found
";
$tables = $this->db->list_tables();
foreach ($tables as $table) {
echo $table."
";
}
}
}
}
< /code>
И это код, который я выполняю в основном классе: < /p>
$this->load->model('users_model');
$this->users_model->deleteTable();
$this->users_model->createTable();
< /code>
Первый запуск в порядке и Dandy. Столы созданы просто отлично. Но потом, когда я запускаю его снова, я получаю выход: < /p>
users not found
users
Итак, я делаю что-то не так? Это так же просто, как и это, копия, вставленная из документации. Google не возвращает ничего связанного, и, будучи программистом C, мое мышление всегда - «если есть ошибка, это ваша. (Ричард Шталлман никогда не ошибается)» ... но, поскольку мистер Сталлман имеет мало об этом, есть возможность.
tl; DR
Зачем. List_tables () возвращает «пользователи»;
Подробнее здесь: https://stackoverflow.com/questions/947 ... odeigniter