Вход Регистрация
Файл: vendor/laravel/framework/src/Illuminate/Validation/Rules/Unique.php
Строк: 75
<?php

namespace IlluminateValidationRules;

use 
IlluminateDatabaseEloquentModel;
use 
IlluminateSupportTraitsConditionable;

class 
Unique
{
    use 
ConditionableDatabaseRule;

    
/**
     * The ID that should be ignored.
     *
     * @var mixed
     */
    
protected $ignore;

    
/**
     * The name of the ID column.
     *
     * @var string
     */
    
protected $idColumn 'id';

    
/**
     * Ignore the given ID during the unique check.
     *
     * @param  mixed  $id
     * @param  string|null  $idColumn
     * @return $this
     */
    
public function ignore($id$idColumn null)
    {
        if (
$id instanceof Model) {
            return 
$this->ignoreModel($id$idColumn);
        }

        
$this->ignore $id;
        
$this->idColumn $idColumn ?? 'id';

        return 
$this;
    }

    
/**
     * Ignore the given model during the unique check.
     *
     * @param  IlluminateDatabaseEloquentModel  $model
     * @param  string|null  $idColumn
     * @return $this
     */
    
public function ignoreModel($model$idColumn null)
    {
        
$this->idColumn $idColumn ?? $model->getKeyName();
        
$this->ignore $model->{$this->idColumn};

        return 
$this;
    }

    
/**
     * Convert the rule to a validation string.
     *
     * @return string
     */
    
public function __toString()
    {
        return 
rtrim(sprintf('unique:%s,%s,%s,%s,%s',
            
$this->table,
            
$this->column,
            
$this->ignore '"'.addslashes($this->ignore).'"' 'NULL',
            
$this->idColumn,
            
$this->formatWheres()
        ), 
',');
    }
}
Онлайн: 1
Реклама