With multi language there is no perfect way! It's a huge subject! You have to consider your options and follow what suits your use case the best way possible.
Trying to make your app multi lingual thought the database itself can become very very ugly especially if you are dealing with complex relationships and a lot of data. It's not only about storing the data but having the appropriate ui to see what's missing in each language and translate every single bit of it. Both data entered by users and the ui itself.
Over the past ten years that I have been dealing with client websites I dodged making our in-house cms multi lingual for the sole reason of keeping the code clean and manageable.
The first way I used was to simply have a different database for each language. So depending on the language I switched database. Same code base but different do for each language? Simple clean and no mess in my code!
The second way I used was to have a clone of the site in another domain and all info entered in new language. In both cases there were times that I had to transfer data from one version to the other with xml on a daily or hourly basis to keep them in sync.
It seems that you are tying to do it the third.. Erm hard way :) single db with all data. I think there are packages for eloquent to help you with this