->has() method will return true, if many-to-many 'through' table has duplicate rows.

Previoudly if there are two rows in table, it will return false. This situation could happen if the table has no appropriate unique indexes and ->add was used more than once.