我使用DB facade和select方法来运行带有绑定的原始SQL查询。只需要知道我们是否可以在查询中有多个同名的参数,并通过只提供一个带有参数名的绑定来替换它。
例如:
$sql = "SELECT students.id, students.name FROM students
where students.student_id = :student_id
where added_on = ( SELECT MAX( added_on ) AS newdate
FROM students WHERE student_id = :student_id)"
return DB::select($sql, [
'student_id' => 1
]);注意:在这个查询中,我可能不需要两次使用student_id。这只是一个例子。目的是想知道我们是否能做到这一点。
发布于 2021-05-13 14:12:36
我不相信这是可能的,这不是理想的,但我通常会这样做:
$sql = "SELECT students.id, students.name FROM students
where students.student_id = :student_id_1
where added_on = ( SELECT MAX( added_on ) AS newdate
FROM students WHERE student_id = :student_id_2)"
$student_id = 1;
return DB::select($sql, [
'student_id_1' => $student_id,
'student_id_2' => $student_id
]);https://stackoverflow.com/questions/59172149
复制相似问题