从这段代码:
$toolbox = RedBean_Setup::kickstartDev("mysql:*****************");
$r = $toolbox->getRedBean();
$test = $r->dispense("test");
$test->nom = 'Test #1';
$test->date = '2010-07-08';
$test->date_deux = '08/07/2010';
$test->num = 5;
$id = $r->store( $test );
我得到这个SQL:
CREATE TABLE IF NOT EXISTS `test` (
`id` int(11) unsigned NOT NULL auto_increment,
`nom` varchar(255) collate utf8_unicode_ci default NULL,
`date` varchar(255) collate utf8_unicode_ci default NULL,
`num` tinyint(3) unsigned default NULL,
`date_deux` varchar(255) collate utf8_unicode_ci default NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=6 ;
--
-- Dumping data for table `test`
--
INSERT INTO `test` (`id`, `nom`, `date`, `num`, `date_deux`) VALUES
(1, 'Test #1', '2010-07-08', NULL, NULL),
(2, 'Test #1', '2010-07-08', 5, NULL),
(3, 'Test #1', '2010-07-08', 5, '08/07/2010'),
(4, 'Test #1', '2010-07-08', 5, '08/07/2010'),
(5, 'Test #1', '2010-07-08', 5, '08/07/2010');
有一种特殊方法可以将date
与RedBean一起使用吗?
答案 0 :(得分:4)
发现了这个:http://groups.google.com/group/redbeanorm/browse_thread/thread/6961ac635e6886f6
优化器现在将转换列 使用datetime值 datetimefields。如果是不同的值 插入列将是 由OODB以流体模式恢复。
答案 1 :(得分:4)
看起来您需要在日期时间列的格式中非常具体。例如,以下代码应提供日期/时间列:
$mysqldate = date("Y-m-d", $your_date); // for date column
OR
$mysqldatetime = date("Y-m-d H:i:s", $your_date_time); // for datetime column
具体来说,日期的“Y-m-d”和日期时间的“Y-m-d H:i:s”是RedBean正在寻找的格式。
答案 2 :(得分:1)
您可以在冻结数据库后使用time()或更改列类型。
答案 3 :(得分:1)
标准优化器处理DateTime列。你可以在这里查看:http://redbeanphp.com/#/Plugins(几乎在页面末尾)