本文整理汇总了PHP中unknown::getTable方法的典型用法代码示例。如果您正苦于以下问题:PHP unknown::getTable方法的具体用法?PHP unknown::getTable怎么用?PHP unknown::getTable使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类unknown
的用法示例。
在下文中一共展示了unknown::getTable方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: __construct
/**
*
* @param unknown $column
* @param unknown $referenceTable
* @param unknown $referenceColumn
* @param unknown $update
* @param unknown $delete
*/
public function __construct($column, $referenceTable, $referenceColumn, $update, $delete)
{
// r = raiz
// d = destino
$nameReferenceTable = $referenceTable;
if ($referenceTable instanceof TableIdentifier) {
$nameReferenceTable = $referenceTable->getTable();
$referenceTable = "{$referenceTable->getSchema()}.{$referenceTable->getTable()}";
}
$name = "{$nameReferenceTable}_r{$column}_d{$referenceColumn}_fkey";
$this->setOnUpdateRule(strtoupper($update));
$this->setOnDeleteRule(strtoupper($delete));
parent::__construct($name, $column, $referenceTable, $referenceColumn);
}
示例2: air2_model_prevalidate
/**
*
*
* @param unknown $model
*/
function air2_model_prevalidate(&$model)
{
$table = $model->getTable();
$col_defs = $table->getColumns();
$now = air2_date();
foreach ($col_defs as $col => $def) {
if (preg_match('/_uuid$/', $col) && isset($def['unique']) && $def['unique']) {
if (!isset($model->{$col}) || !strlen($model->{$col})) {
$model->{$col} = air2_generate_uuid(12);
}
} elseif (preg_match('/_cre_dtim$/', $col)) {
if (!$model->exists() && !strlen($model->{$col})) {
$model->{$col} = $now;
}
} elseif (preg_match('/_upd_dtim$/', $col)) {
$model->{$col} = $now;
} elseif (preg_match('/_cre_user$/', $col)) {
if (!$model->exists() && !strlen($model->{$col})) {
if (defined('AIR2_REMOTE_USER_ID')) {
$model->{$col} = AIR2_REMOTE_USER_ID;
} else {
$model->{$col} = 1;
//sysuser -- TODO: check for shell users
}
}
} elseif (preg_match('/_upd_user$/', $col)) {
if (defined('AIR2_REMOTE_USER_ID')) {
$model->{$col} = AIR2_REMOTE_USER_ID;
} else {
$model->{$col} = 1;
//sysuser -- TODO: check for shell users
}
} elseif ($def['type'] === 'timestamp') {
// validate the string for non cre/upd timestamps
if (isset($model->{$col}) && !is_null($model->{$col})) {
//NOTE: whenever you set a column in Doctrine, it checks that
//the value has changed. Since '2010-01-01 01:01:01' is equal
//to '2010-01-01T01:01:01', we need to NULL it first
if (strpos($model->{$col}, 'T') !== false) {
$airformat = air2_date(strtotime($model->{$col}));
$model->{$col} = null;
$model->{$col} = $airformat;
}
}
} elseif ($def['type'] === 'date') {
// validate the string for non cre/upd timestamps
if (isset($model->{$col}) && !is_null($model->{$col})) {
//NOTE: whenever you set a column in Doctrine, it checks that
//the value has changed. Since '2010-01-01 01:01:01' is equal
//to '2010-01-01T01:01:01', we need to NULL it first
if (strpos($model->{$col}, 'T') !== false) {
$airformat = air2_date(strtotime($model->{$col}));
$model->{$col} = null;
$model->{$col} = $airformat;
}
}
}
// default values
if (strlen($table->getDefaultValueOf($col)) && !strlen($model->{$col})) {
$model->{$col} = $table->getDefaultValueOf($col);
}
// lastly, check strings for valid UTF8 chars
if ($def['type'] === 'string' && !Encoding::is_utf8($model->{$col})) {
$modelname = get_class($model);
throw new Doctrine_Exception("non-UTF8 string found in {$modelname}->{$col}: " . $model->{$col});
}
}
}
示例3: byTag
/**
* Query scope for filtering data by category Ids
* @param unknown $model
* @param string $values
*/
public function byTag($model, $values = '')
{
if (!$values) {
$values = $this->getValue();
}
$table = $model instanceof Model ? $model->getTable() : $model->getModel()->getTable();
return $model->join('product_to_tag', function ($join) use($table, $values) {
$join->on($table . '.id', '=', 'product_to_tag.product_pk_id');
$join->whereIn('product_to_tag.product_tag_pk_id', $values);
});
}