本文整理汇总了PHP中ForeignKey::save方法的典型用法代码示例。如果您正苦于以下问题:PHP ForeignKey::save方法的具体用法?PHP ForeignKey::save怎么用?PHP ForeignKey::save使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ForeignKey
的用法示例。
在下文中一共展示了ForeignKey::save方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: actionUpdate
public function actionUpdate()
{
$isSubmitted = false;
$sql = false;
$foreignKey = ForeignKey::model()->findBySql('SELECT * FROM KEY_COLUMN_USAGE ' . 'WHERE TABLE_SCHEMA = :tableSchema ' . 'AND TABLE_NAME = :tableName ' . 'AND COLUMN_NAME = :columnName ' . 'AND REFERENCED_TABLE_SCHEMA IS NOT NULL', array('tableSchema' => $this->schema, 'tableName' => $this->table, 'columnName' => $this->column));
if (!$foreignKey) {
$foreignKey = new ForeignKey();
$foreignKey->TABLE_SCHEMA = $this->schema;
$foreignKey->TABLE_NAME = $this->table;
$foreignKey->COLUMN_NAME = $this->column;
}
if (isset($_POST['ForeignKey'])) {
$foreignKey->attributes = $_POST['ForeignKey'];
if ($foreignKey->getReferences() && ($sql = $foreignKey->save())) {
$isSubmitted = true;
} elseif (!$foreignKey->getReferences() && ($sql = $foreignKey->delete())) {
$isSubmitted = true;
}
}
CHtml::generateRandomIdPrefix();
// Column data
$columns = array('' => '');
$tables = Table::model()->findAllByAttributes(array('TABLE_SCHEMA' => $this->schema));
foreach ($tables as $table) {
if (StorageEngine::check($table->ENGINE, StorageEngine::SUPPORTS_FOREIGN_KEYS)) {
$columns[$table->TABLE_NAME] = array();
foreach ($table->columns as $column) {
$columns[$table->TABLE_NAME][$this->schema . '.' . $table->TABLE_NAME . '.' . $column->COLUMN_NAME] = $column->COLUMN_NAME;
}
}
}
// "On-Actions"
$onActions = array('' => '', 'CASCADE' => 'CASCADE', 'SET NULL' => 'SET NULL', 'NO ACTION' => 'NO ACTION', 'RESTRICT' => 'RESTRICT');
$this->render('form', array('foreignKey' => $foreignKey, 'columns' => $columns, 'onActions' => $onActions, 'sql' => $sql, 'isSubmitted' => $isSubmitted));
}
示例2: testInsertOnWrongDataType
/**
* tries to add a foreignkey to a column and references to a column with
* an other datatype
*/
public function testInsertOnWrongDataType()
{
$foreignKey = new ForeignKey();
$foreignKey->TABLE_SCHEMA = 'tabletest';
$foreignKey->TABLE_NAME = 'product3';
$foreignKey->COLUMN_NAME = 'price';
$foreignKey->setReferences('tabletest.product4.var');
$this->assertFalse($foreignKey->save());
}