| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 | <?php namespace System\Validation\Rules;use System\DB;use System\Validation\Nullable_Rule;class Uniqueness_Of extends Nullable_Rule {	/**	 * The database table that should be checked.	 *	 * @var string	 */	public $table;	/**	 * The database column that should be checked.	 *	 * @var string	 */	public $column;	/**	 * Evaluate the validity of an attribute.	 *	 * @param  string  $attribute	 * @param  array   $attributes	 * @return bool	 */	public function check($attribute, $attributes)	{		if ( ! is_null($nullable = parent::check($attribute, $attributes)))		{			return $nullable;		}		if (is_null($this->column))		{			$this->column = $attribute;		}		return DB::table($this->table)->where($this->column, '=', $attributes[$attribute])->count() == 0;	}	/**	 * Set the database table and column.	 *	 * The attribute name will be used as the column name if no other	 * column name is specified.	 *	 * @param  string         $table	 * @param  string         $column	 * @return Uniqueness_Of	 */	public function on($table, $column = null)	{		$this->table = $table;		$this->column = $column;		return $this;	}}
 |