запись в базу данных....

Разбираю пример создания блога в yii.

Работаю с базой данных sqlite.

1.При создание записи, если вводится символьное поле на русском языке, то

оно либо в базу вообще не попадает, либо просто не отображается при выводе …

2.Если поле в правилах валидизации атрибутов модели не отмечено как ‘required’,

то, несмотря на его присутствие и заполнение во входной форме, оно остается пустым.

То есть получается, что при выполнение, скажем,

$model->attributes=$_POST[‘Post’],

атрибут, не отмеченный в правилах валидизации атрибутов модели как ‘required’,

остается пустым.

А вот если, к примеру, для такого поля после ввода формы написать

$model->create_time=time(),

то это поле попадает в базу данных…


Ведь при нажатие submitt все поля должны считываться и разноситься по атрибутам.

Другое дело, что не обязательно все поля подлежат валидизации.


Можно прокомментировать эту ситуацию ?

Если атрибут не встречается в правилах валидации ни разу, то он не может быть массово присвоен, насколько я знаю. Чтобы атрибут заполнялся нужно указать его как безопасный в правилах типа так ‘attributeName’, ‘safe’

Проверил, так и есть. Спасибо.

А как насчет этой фишки ?

1.При создание записи, если вводится символьное поле на русском языке, то

оно либо в базу вообще не попадает, либо просто не отображается при выводе …

То есть, не получается ввести в базу данных кирилические данные…

Ну тут не могу сказать ничего - с sqlite не работал, но могу предположить, что где-то не так с кодировкой. Я бы проверил, что везде стоит utf8, в конфигах приложения и в базе данных:


'db'=>array(

			'connectionString'=>'mysql:host=localhost;dbname=btest',

	'emulatePrepare' => true,

	'username' => 'root',

	'password' => 'password',

	'charset' => 'utf8',

		),

		

	),