Added support for on_delete and on_cascade of foreign keys.

This commit is contained in:
Taylor Otwell
2012-03-21 10:33:06 -05:00
parent 4336bb885a
commit ce9f4f1db7

View File

@@ -32,7 +32,22 @@ abstract class Grammar extends \Laravel\Database\Grammar {
$sql = "ALTER TABLE $table ADD CONSTRAINT $name ";
return $sql .= "FOREIGN KEY ($foreign) REFERENCES $on ($referenced)";
$sql .= "FOREIGN KEY ($foreign) REFERENCES $on ($referenced)";
// Finally we will check for any "on delete" or "on update" options for
// the foreign key. These control the behavior of the constraint when
// an update or delete statement is run against the record.
if ( ! is_null($command->on_delete))
{
$sql .= " ON DELETE {$command->on_delete}";
}
if ( ! is_null($command->on_update))
{
$sql .= " ON UPDATE {$command->on_update}";
}
return $sql;
}
/**