1

Тема: Idiorm

Подключение idiorm:
В документе - /boot/defines.php
нужно раскомментировть строки:

//define('MONSTRA_DB_DSN', 'mysql:dbname=monstra;host=localhost;port=3306');
//define('MONSTRA_DB_USER', 'root');
//define('MONSTRA_DB_PASSWORD', 'password');

Сохранение

<?php
$person = ORM::for_table('person')->find_one(5);
// The following two forms are equivalent
$person->set('name', 'Bob Smith');
$person->age = 20;
// This is equivalent to the above two assignments
$person->set(array(
    'name' => 'Bob Smith',
    'age'  => 20
));
// Syncronise the object with the database
$person->save();

Кирилицу сохраняет как знаки вопросов - как решить проблему ?

Site | GitHub | Создание форумов/решений на базе PunBB/Monstra/OGMA

Плагины распространяются по Creative Commons Attribution-NonCommercial 3.0

Сайт KANekT

Поделиться

2

Re: Idiorm

Проблема решается - при создании таблицы нужно обязательно указывать кодировку!

$db = ORM::get_db();
$db->exec("
CREATE TABLE IF NOT EXISTS CalculationDoors(
  id int(10) unsigned NOT NULL AUTO_INCREMENT,
  PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
");
Site | GitHub | Создание форумов/решений на базе PunBB/Monstra/OGMA

Плагины распространяются по Creative Commons Attribution-NonCommercial 3.0

Сайт KANekT

Поделиться

3

Re: Idiorm

Совершенно верно - БД и таблицы должны быть в соответствующей кодировке.
Если кодировка отличная от UTF, то идем в Monstra.php, примерно 190 строка:

ORM::configure('driver_options', array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8'));

И устанавливаем там, например, SET NAMES CP1251

Поделиться