本文整理汇总了PHP中VF_Schema::mappingsTable方法的典型用法代码示例。如果您正苦于以下问题:PHP VF_Schema::mappingsTable方法的具体用法?PHP VF_Schema::mappingsTable怎么用?PHP VF_Schema::mappingsTable使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类VF_Schema
的用法示例。
在下文中一共展示了VF_Schema::mappingsTable方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: save
function save()
{
if (!(int) $this->product_id)
{
throw new Exception('Trying to insert a mapping with no product ID');
}
$schema = new VF_Schema;
$schema->setConfig($this->getConfig());
$levels = $schema->getLevels();
$select = $this->getReadAdapter()->select()
->from($schema->mappingsTable(), array('id'));
foreach ($this->vehicle->toValueArray() as $level => $id)
{
$select->where($this->inflect($level) . '_id = ?', $id);
}
$select->where('entity_id = ?', $this->product_id);
$id = (int) $select->query()->fetchColumn();
if (0 !== $id)
{
return $id;
}
$columns = '';
$values = '';
foreach ($levels as $level)
{
$columns .= '`' . $this->inflect($level) . '_id`,';
$values .= $this->inflect($this->vehicle->getLevel($level)->getId());
$values .= ',';
}
$query = sprintf(
'
INSERT INTO
`'.$schema->mappingsTable().'`
(
' . $columns . '
`entity_id`
)
VALUES
(
' . $values . '
%d
)
',
(int) $this->product_id
);
$r = $this->query($query);
return $this->getReadAdapter()->lastInsertId();
}