Файл: 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);
    }
}