Fixing bugs in database layer.

This commit is contained in:
Taylor Otwell 2012-03-22 13:12:27 -05:00
parent 35e53b8cef
commit e96f75e8cc
2 changed files with 18 additions and 8 deletions

View File

@ -24,11 +24,21 @@ public function __construct($model, $associated, $foreign)
{
$this->foreign = $foreign;
// We will go ahead and set the model and associated instances on the relationship
// to match the relationship targets passed in from the model. These will allow
// us to gather more inforamtion on the relationship.
$this->model = ($associated instanceof Model) ? $associated : new $associated;
// We will go ahead and set the model and associated instances on the
// relationship to match the relationship targets passed in from the
// model. These will allow us to gather the relationship info.
if ($associated instanceof Model)
{
$this->model = $associated;
}
else
{
$this->model = new $associated;
}
// For relationships, we'll set the base model to be the model being
// associated from. This model contains the value of the foreign
// key needed to connect to the associated model.
if ($model instanceof Model)
{
$this->base = $model;
@ -38,9 +48,9 @@ public function __construct($model, $associated, $foreign)
$this->base = new $model;
}
// Next we'll set the fluent query builder for the relationship and constrain
// the query such that it only returns the models that are appropriate for
// the relationship, typically by setting the foreign key.
// Next we'll set the fluent query builder for the relationship and
// constrain the query such that it only returns the models that
// are appropriate for the relationship.
$this->table = $this->query();
$this->constrain();

View File

@ -136,7 +136,7 @@ public function key($type, $columns, $name)
// the index that can be used when dropping indexes.
if (is_null($name))
{
$name = $this->name.implode('_', $columns).'_'.$type;
$name = $this->name.'_'.implode('_', $columns).'_'.$type;
}
return $this->command($type, compact('name', 'columns'));