datayı array yerine object olarak tanımlamayı düşünebilirsiniz
$data['takip'] = IzlemeHizmetTakip::where('hayvan_id', $data['single_data']->id)->get();
yerine
$data = new \stdClass();
$data->takip = IzlemeHizmetTakip::where('hayvan_id', $data['single_data']->id)->get();
şeklinde kullanmayı dener misiniz ?
Bunun haricinde sık sık sorgu yazmanızı gerektirecek bir durum göremedim. Yani 3 farklı sorguyu tek veri içerisine aktarmışsınız. Bu verileri ayrı değişkenlere atıp viewe göndermeniz mümkün.