Laravel 5 multiple table unique validation

Your validation rule seems ok. Just make sure that both sites1 and sites2 table has field name url and both in same database.

Your unique:sites1 rule will be translated into SQL

select count(*) as aggregate from `sites1` where `url` = ?

While unique:sites2 rule will be translated into SQL

select count(*) as aggregate from `sites2` where `url` = ?

See if first SQL does return result. Long URL may result non unique if used with limited index length. It may be better if you could store hash value of URL so you can compare url just by using hash.


No need to maintain the same name in two different tables

In laravel 4.2

Validator::make(Input::all, [
    'url' => 'unique:site1,your_column_name|unique:site2:your_column_name_2'
]);

Laravel 5.*:

$this->validate($request,[
    'url' => 'unique:site1,your_column_name|unique:site2:your_column_name_2'
]);

Hopefully it's working fine.