根据我的理解,在Zend Framework中处理日期的最佳方法是从数据库中选择它们作为Unix时间戳.
// SELECT UNIX_TIMESTAMP(my_datetime_column) FROM my_table
$date = new Zend_Date($unixtimestamp, Zend_Date::TIMESTAMP);
Run Code Online (Sandbox Code Playgroud)
我认为在Oracle中实际上没有简单的方法可以选择日期作为Unix时间戳或ISO-8601格式 - 这两种格式Zend_Date最好.
但我确实编写了一个函数来选择日期作为PL/SQL中的unix时间戳,所以我现在可以实际执行此操作.
使用Zend_Db_Expr,我现在可以选择我的日期作为Unix时间戳:
$select = $db->select()
->from(array('p' => 'products'),
array(
'product_id',
'product_date' => new Zend_Db_Expr('toUnixTimestamp(product_date)')
)
);
$results = $db->fetchAll($select);
Run Code Online (Sandbox Code Playgroud)
您将对任何RDMS使用类似的查询 - 大多数都具有时间戳功能.
我发现这很烦人,因为现在我必须遍历$ results以手动将时间戳转换为Zend_Date对象:
foreach($results as $result){
$productDate = new Zend_Date($result['product_date'], Zend_Date::TIMESTAMP);
echo $productDate->toString('dd/MMM/yyyy HH:mm:ss');
}
Run Code Online (Sandbox Code Playgroud)
我希望我的模型返回$结果,其中时间戳已经转换为Zend_Date.我不想在每个数据访问函数中编写一个循环来为我做这个.
所以要明白我的实际问题:
有没有人知道Zend_Db的一种方法,在结果集上设置某种后处理,从而自动将时间戳转换为Zend_Date对象?
有没有人通过Hibernate成功地将PostgreSQL中的数值数组映射到java中的数值数组?
SQL:
CREATE TABLE sal_emp (name text, pay_by_quarter integer[]);
INSERT INTO sal_emp VALUES ('one', '{1,2,3}');
INSERT INTO sal_emp VALUES ('two', '{4,5,6}');
INSERT INTO sal_emp VALUES ('three', '{2,4,6}');
Run Code Online (Sandbox Code Playgroud)
制图:
<hibernate-mapping>
<class name="SalEmp" table="sal_emp">
<id name="name" />
<property name="payByQuarter" column="pay_by_quarter" />
</class>
</hibernate-mapping>
Run Code Online (Sandbox Code Playgroud)
类:
public class SalEmp implements Serializable{
private String name;
private Integer[] payByQuarter;
...// getters & setters
}
Run Code Online (Sandbox Code Playgroud)
查询表格时出现异常.
我不太了解python(之前从未使用过它:D),但我似乎无法在网上找到任何东西.也许我只是没有谷歌正确的问题,但在这里我去:
我想更改实例的特定方法的实现.当我用Google搜索它时,我发现你可以这样做,但它改变了同一个类的所有其他实例的实现,例如:
def showyImp(self):
print self.y
class Foo:
def __init__(self):
self.x = "x = 25"
self.y = "y = 4"
def showx(self):
print self.x
def showy(self):
print "y = woohoo"
class Bar:
def __init__(self):
Foo.showy = showyImp
self.foo = Foo()
def show(self):
self.foo.showx()
self.foo.showy()
if __name__ == '__main__':
b = Bar()
b.show()
f = Foo()
f.showx()
f.showy()
Run Code Online (Sandbox Code Playgroud)
这不能按预期工作,因为输出如下:
x = 25
y = 4
x = 25
y = 4
我希望它是:
x = 25
y = 4
x = 25 …
对不起文本家伙的墙,但这个需要expliaining,太多的代码发布...
我在需要数据输入的方法中将固定宽度文件导入访问.我使用transferText将文件导入两个规范(一个是全局的,另一个是特殊情况).
我有一个函数,它使用DAO循环遍历TableDefs中的所有Field对象,以构建包含AutoIncrement PK的重复表,以便我能够编辑这些记录.我用INSERT INTO将数据推送到该表中.
效果很好.发现错误,用户进入数据输入以手动纠正它们,这些节拍通过筛选400个字符行并按照预期的方式重新组织所有内容.效果很好!
问题:当数据条目发生变化时,会按下一个提交按钮,该按钮调用表单外部模块内的函数.它关闭数据输入表单并将信息推回到原始表减去自动增量PK,并且被支持DROP复制表的ID,并生成一个新的再次搜索错误...
它推回原来很好,但它不会DROP ID表.总是返回给我一条消息,表明该表已被锁定.我注意到表被无限制地锁定,直到所有函数/子退出.在任何时候单步执行代码我都无法手动删除它,一旦执行完成,我就可以删除它.
我假设因为我通过表单中的命令调用它,所以在所有代码完成并且表单终止可以被调用并执行其操作之前不会释放锁.有什么想法吗?是的,这是非常野蛮但它运作良好,我只需要能够撕掉地球上的另一张桌子,这样我就可以重新制作更新的副本......
在最糟糕的情况下,我可以让用户关闭窗体并点击主窗体中的另一个按钮,但这在设计时考虑到了用户的合规性.然而,这现在我全神贯注,并希望至少找到一个解决方案,即使它不是最佳解决方案.
-编辑-
在这个问题中使用了两种形式
FormA (Role: Load in and search for problems)
Examine button is pressed that:
- Uses TextTransfer based on predefined specs into tempExtract to
import the file
- DAO fires off on the Fields collection in tableDefs for
tempExtract, creates new table tempExtractID
- Performs searches through the file to find errors. Errors are saved to
a table Problem_t. Table contains Problem_ID (Set from the ID field …Run Code Online (Sandbox Code Playgroud) 我希望有人向我解释_forward正在做什么,我无法看到_forward是否也在渲染动作的附加视图或只是执行动作.
还可以在视图脚本中将参数传递给$ this-> action吗?
更一般地,我的问题是如何编码确认页面,让我们说用户输入一些东西,你想向他显示确认,前进是否意味着该情况?
我想使用Django 发送iCalendar http://en.wikipedia.org/wiki/ICalendar电子邮件附件.是否有一个开源库用于在Python中构建iCalendar文件和/或可用于Django?
我正在用混合C和C++制作一个小项目.我正在我的一个工作线程的核心构建一个小型状态机.
我想知道你是否会在SO上分享你的状态机设计技巧.
注意:我主要是经过久经考验的实施技术.
更新:基于SO上收集的所有重要输入,我已经确定了这个架构:
我想知道我是否可以在C#中扩展Enum类型以实现我的自定义Enum.GetValues(类型)并将其称为Enum.GetMyCustomValues(type)
我试图实现这样的事情:
public static bool IsFlagSet<T>(this T value, T flag) where T : Enum
{
return (value & flag) != (T)0;
}
Run Code Online (Sandbox Code Playgroud)
但它无法完成......我可以做任何工作吗?干杯
我正在尝试使用我创建的插件为rails创建一个ruby gem.问题是我的插件"快捷方式"使用了一些需要在public/javascripts目录中运行的javascript文件.
什么是制作这些javascript文件的最佳方法,这些文件位于我创建的gem中,可以访问哪个项目需要我的gem?
我有一些开发人员经常把If If检查
例如:
Run(Order order)
{
if (order == null) return;
}
Run Code Online (Sandbox Code Playgroud)
在他们的代码中,因为他们认为如果有人传入一个null参数,他们就会保护他们的类.我想告诉他们的缺陷在他们的逻辑,因为如果有人传入null在这种情况下,最有可能的问题与消费者的代码,而是这个类的抛出异常和故障的快速,它优雅地处理的不良行为消费者并继续努力.
另一个建议是让前提条件或防护类快速失败并抛出异常.任何事情,但忽略了消费者可能有一些其他问题的事实,我帮助掩盖它.
我如何让人们欣赏你的班级不应该如此宽容的事实.如果有人没有传递好的数据,应该告诉他们.
任何好的文章或建议,以帮助我理解这一点?
c# ×2
python ×2
.net ×1
architecture ×1
arrays ×1
c ×1
c++ ×1
create-table ×1
django ×1
drop-table ×1
enums ×1
gem ×1
hibernate ×1
icalendar ×1
java ×1
javascript ×1
locking ×1
ms-access ×1
oracle ×1
php ×1
postgresql ×1
timestamp ×1
zend-date ×1