Файл: system/vendor/illuminate/database/Schema/ForeignIdColumnDefinition.php
Строк: 89
<?php
namespace IlluminateDatabaseSchema;
use IlluminateSupportStr;
class ForeignIdColumnDefinition extends ColumnDefinition
{
/**
* The schema builder blueprint instance.
*
* @var IlluminateDatabaseSchemaBlueprint
*/
protected $blueprint;
/**
* Create a new foreign ID column definition.
*
* @param IlluminateDatabaseSchemaBlueprint $blueprint
* @param array $attributes
* @return void
*/
public function __construct(Blueprint $blueprint, $attributes = [])
{
parent::__construct($attributes);
$this->blueprint = $blueprint;
}
/**
* Create a foreign key constraint on this column referencing the "id" column of the conventionally related table.
*
* @param string|null $table
* @return IlluminateSupportFluent|IlluminateDatabaseSchemaForeignKeyDefinition
*/
public function constrained($table = null)
{
return $this->references('id')->on($table ?: Str::plural(Str::before($this->name, '_id')));
}
/**
* Specify which column this foreign ID references on another table.
*
* @param string $column
* @return IlluminateSupportFluent|IlluminateDatabaseSchemaForeignKeyDefinition
*/
public function references($column)
{
return $this->blueprint->foreign($this->name)->references($column);
}
}