Member Since 5 Years Ago
960 experience to go until the next level!
In case you were wondering, you earn Laracasts experience when you:
Earned once you have completed your first Laracasts lesson.
Earned once you have earned your first 1000 experience points.
Earned when you have been with Laracasts for 1 year.
Earned when you have been with Laracasts for 2 years.
Earned when you have been with Laracasts for 3 years.
Earned when you have been with Laracasts for 4 years.
Earned when you have been with Laracasts for 5 years.
Earned when at least one Laracasts series has been fully completed.
Earned after your first post on the Laracasts forum.
Earned once 100 Laracasts lessons have been completed.
Earned once you receive your first "Best Reply" award on the Laracasts forum.
Earned if you are a paying Laracasts subscriber.
Earned if you have a lifetime subscription to Laracasts.
Earned if you share a link to Laracasts on social media. Please email [email protected] with your username and post URL to be awarded this badge.
Earned once you have achieved 500 forum replies.
Earned once your experience points passes 100,000.
Earned once your experience points hits 10,000.
Earned once 1000 Laracasts lessons have been completed.
Earned once your "Best Reply" award count is 100 or more.
Earned once your experience points passes 1 million.
Earned once your experience points ranks in the top 50 of all Laracasts users.
Since I run into this issue often as I like to split my databases into multiple and use a lot of relationships between databases, the answer is quite simple. You have to prefix the database name (not the connection name, the actual database name) to the table definition on your models
So let' say you have a users table in a database called "laravel_core" and it has many comments stored in a comments table stored in a database called "laravel_data" then in your User.php model you add
protected $table = 'laravel_core.users'; and in your Comment.php model you add
protected $table = 'laravel_data.comments'; and voila, cross-database use of
whereHas will now function properly
The problem arises when you are trying to do this on models from vendor packages where you cannot easily alter the model class