К примеру, у нас есть такая структура
Таблица product:
id, name, purchase_id, category_id
Таблица category:
id, name
Таблица purchase:
id, total
В модели Product:
public function purchase(){
$this->hasMany('Purchase');
}
В таком случае достать все purchase категории можно с помощью whereHas.
Примерный код (не проверен):
$purchases = Product::with('purchase')->whereHas('category', function($query){
$query->where('id', 1);
})->get()->lists('purchase');
Но структура изначально неправильная. Вам надо ее переосмыслить.