If I understand your request correctly, you want below result when you write dd($query->first()); with ->where('property_prices.date', '<=', '2017-06-24')
|id |property_id|price|date |
|12 |6 |300 |2017-06-24|
By default order is ascending so complete result is:
|id |property_id|price|date |
|10 |6 |100 |2017-06-22 |
|11 |6 |200 |2017-06-23|
|12 |6 |300 |2017-06-24|
Now are filtering this records by dd($query->first()); so this line will return you above result. But you can change the order of result using:
->orderBy('property_prices.date', 'desc');
Try above orderBy() and let me know if this will not return you your expected result.