It is not necessary to have a Model for the LakeFish entity presuming that this is just a pivot table with foreign keys only. You only need a Lake model and a Fish model. You have not used the naming convention however, so you will ned to specify this when you are defining the relationship.
Lake.php
public function fish()
{
return $this->belongsToMany('App\Fish', 'lake_fish');
}
Fish.php
public function lakes()
{
return $this->belongsToMany('App\Lake', 'lake_fish');
}
Now you can fetch the fish in lake (or the lakes where a fish can be found):
@foreach ($lake->fish as $fish)
<p>{{ $fish->name }}</p>
@endforeach
// or if you have a fish object
@foreach ($fish->lakes as $lake)
<p>{{ $lake->name }}</p>
@endforeach
Personally, I would call the relationship fishes though, it's not 100% incorrect, and clarifies your code :D