you can check the condition while fetching books.
$books = App\Book::with('author','publisher')
->whereHas('author', function($query) {
//you can check your conditions here like:
$query->where('book.author_type', '=', "your value");
});
hope this will help you.