Hi Andreas,
Are you able to give a little more background on what the relation is between Users and Authors. What kind of app are you building? Do users buy books, read them etc? When you say Users create Authors, do you mean administrators would create and assign an Author to a book? Or that Users can add Authors to books generally (for whatever reason)?
The way I understand you is that a User creates a book. They then tell you what Authors made the book, and select it from a list or add a new one. You then create those authors and attach them to the Book->[hasMany]->Authors relationship. Does the user even need to know which Authors they created? If you insist on the name of the author being unique when making your DB migrations, you will get an error if they try to create the same Author.
If you want to remove duplication and insist that the User knows which Authors they created then you could use a Many-To-Many relationship between User and Author, and again insist through your DB migration that the Author name is unique. That way when a user creates an Author on a book, you also attach the Author to the User->authors() , and you can later pull out which Authors they created. If you pull a Book out, and you want the Authors from that where the only the Authors that the User created are visible, you should use something like:
Book::find(1)->authors()->where('user_id', Auth::id())->get()
Does this help at all? - You're my first post to try and help so I'm new to this game too! :)