आपकी क्वेरी विफल हो रही है क्योंकि आप अपनी क्वेरी में पैरामीटर का पुन:उपयोग कर रहे हैं। Laravel अपने SQL प्रश्नों के लिए PDO का उपयोग करता है। दस्तावेज़ों के अनुसार :
इसलिए भले ही उनका मान समान हो, आपको उन मापदंडों का नाम बदलना होगा।
$results = \DB::select('SELECT client_id,
date_format(start_date,"%d/%m/%Y") as start_date,
date_format(end_date,"%d/%m/%Y") as end_date,
first_name, last_name, phone, postcode
FROM hire INNER JOIN client ON client.id = hire.client_id
where ((:sdate between start_date and end_date OR :edate between start_date and end_date) OR (:sdate2 <= start_date and end_date <= :edate2)) AND car_id = :car_id', [
'sdate' => $start_date,
'sdate2' => $start_date,
'edate' => $end_date,
'edate2' => $end_date,
'car_id' => $car_id
]
);