Laravel provides unique
validation rule for check unique value on a given database table.
Ref : https://laravel.com/docs/5.1/validation#rule-unique
unique:table,column,except,idColumn,whereColumn1,whereValue1,whereColumn2,whereValue2,...
'username' => 'unique:users,username'
In mostly used when update existing record.
'username' => 'unique:users,username,'.$user->id
'username' => 'unique:users,username,'.$user->id.',user_id'
If company has tag list and want to check unique value,
'name' => 'unique:tags,name,NULL,id,company_id,'.$company_id
If company has hierarchical folder list and want to check unique value per each node,
'name' => 'unique:folders,name,NULL,id,company_id,'.$company_id.',parent_id,'.$parent_id