本文整理汇总了PHP中DB_DataObject::sqlValue方法的典型用法代码示例。如果您正苦于以下问题:PHP DB_DataObject::sqlValue方法的具体用法?PHP DB_DataObject::sqlValue怎么用?PHP DB_DataObject::sqlValue使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类DB_DataObject
的用法示例。
在下文中一共展示了DB_DataObject::sqlValue方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: loadRates
/**
* current rate fetching
*
* - we used to do historical rates... (but sources keep disappearing for that..)
*
* this just get's the current rates from the ecb..
*
*
*/
function loadRates()
{
static $checked = false;
if ($checked) {
return true;
}
$checked = true;
// how often do we need to know this..?
// let's assume we do it once a week..
$x = DB_DataObject::Factory('core_curr_rate');
$x->whereAdd('to_dt > NOW()');
if ($x->count()) {
// got some data for beyond today..
return;
}
// load our default rates to start with..
$dom = simplexml_load_file(dirname(__FILE__) . '/../eurofxref-daily.xml');
$rates['EUR'] = 1.0;
$rates['TWD'] = 46.7008412;
// taiwan dorlar
$rates['VND'] = 25282.24;
// veitnam dong?
foreach ($dom->Cube->Cube->Cube as $c) {
//echo '<PRE>';print_r($c );
$rates[(string) $c['currency']] = (string) $c['rate'];
}
$rates['RMB'] = $rates['CNY'];
// now try loading from latest..
// this may fail...
$f = @file_get_contents('http://www.ecb.europa.eu/stats/eurofxref/eurofxref-daily.xml');
if (!strlen($f)) {
return false;
}
$dom = simplexml_load_string($f);
$rates['EUR'] = 1.0;
foreach ($dom->Cube->Cube->Cube as $c) {
//echo '<PRE>';print_r($c );
$rates[(string) $c['currency']] = (string) $c['rate'];
}
$rates['RMB'] = $rates['CNY'];
foreach ($rates as $cur => $in_euro) {
$rate = 1.0 / $rates['USD'] * $in_euro;
$ov = DB_DataObject::Factory('core_curr_rate');
$ov->curr = $cur;
$nl = clone $ov;
$ov->orderBy('to_dt DESC');
$ov->limit(1);
$nl->from_dt = DB_DataObject::sqlValue("NOW()");
$nl->to_dt = DB_DataObject::sqlValue("NOW() + INTERVAL 7 DAY");
if ($ov->find(true)) {
if (strtotime($ov->to_dt) > time()) {
continue;
}
$nl->from_dt = $ov->to_dt;
if ($ov->rate == $rate) {
// modify the old one to expire
$oo = clone $ov;
$ov->to_dt = $nl->from_dt;
$ov->update($oo);
continue;
}
} else {
// no previous record...
$nl->from_dt = '1970-01-01 00:00:00';
}
$nl->rate = $rate;
// create a new row.
$nl->insert();
}
}