7

从这段代码:

$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 一起使用?

4

4 回答 4

4

看起来您需要非常具体的日期时间列的格式。例如,以下代码应提供日期/时间列:

$mysqldate = date("Y-m-d", $your_date); // for date column
或者
$mysqldatetime = date("Y-m-d H:i:s", $your_date_time); // for datetime column

具体来说,日期的“Ymd”和日期时间的“Ymd H:i:s”是 RedBean 正在寻找的格式。

于 2012-04-03T17:07:45.233 回答
4

发现这个:http ://groups.google.com/group/redbeanorm/browse_thread/thread/6961ac635e6886f6

优化器现在会将具有日期时间值的列转换为日期时间字段。如果插入不同的值,OODB 将在流体模式下恢复该列。

于 2010-07-09T13:33:47.367 回答
1

您可以使用 time() 或在冻结数据库后更改列类型。

于 2010-07-09T18:46:49.773 回答
1

标准优化器处理 DateTime 列。您可以在这里查看:http ://redbeanphp.com/#/Plugins (几乎在页面末尾)

于 2011-03-24T17:41:15.440 回答