使用Redbean PHP和日期的数据格式不正确 - 存储为VARCHAR(255)

时间:2011-12-13 20:29:02

标签: php mysql redbean

我用Redbean PHP连接到MySQL,date和date_deux都是varchar(255)。
我假设我默认处于流体模式。我该如何纠正这个问题?

require('rb.php');
R::setup('my connection info',$username, $password);
$book = R::dispense( 'book' );
$book->title = 'Boost development with RedBeanPHP';
$book->author = 'Charles Xavier'; 
$book->date = '2010-07-08';
$book->date_deux = '08/07/2010';
$id = R::store($book);
echo $id;

更新
我想特别是我期待在3.0版之前做到这一点的正确方法? 文档不清楚3.0版之前的操作。

1 个答案:

答案 0 :(得分:1)

在早于3的RedBeanPHP版本中,您可以使用优化器:http://www.redbeanphp.com/extra/optimizer如果可能,它基本上会更改列。

您必须自己将优化器作为侦听器附加。因为我看到人们为此而苦苦挣扎,所以我删除了这个系统并将其替换为更原生的方法。您现在可以只分配SQL格式的日期或日期时间值,并使用正确的数据类型创建列。但是,如果该列已用于存储其他数据,则该列不会更改(这是为了保留列中已有的数据)。