php - Laravel:无效的参数号:未定义参数
问题描述
我以前使用 mysql 数据库使用过这种方法,但是当我将环境切换到 postgresql 时,我得到了这个错误。
Facade\Ignition\Exceptions\ViewException
SQLSTATE[HY093]: Invalid parameter number: parameter was not defined
(SQL: select "teachers".*, "student_likes"."student_id" as "pivot_student_id",
"student_likes"."liked_teacher_id" as "pivot_liked_teacher_id"
from "teachers" inner join "student_likes" on "teachers"."id" = "student_likes"."liked_teacher_id"
where "student_likes"."student_id" = 1 and "liked_teacher_id" in (1))
(View: /home/leno/sites/schooly/resources/views/student/likes/index.blade.php)
基本上,如果两个用户都彼此喜欢,我会尝试执行匹配系统,并且仅在匹配时才显示用户。
public function matchedTeachers()
{
return $this->likedTeachers()->whereIn('liked_teacher_id', $this->likedStudents->keyBy('liked_teacher_id'));
}
public function likedTeachers()
{
return $this->belongsToMany(Teacher::class, 'student_likes', 'student_id', 'liked_teacher_id');
}
public function likedStudents()
{
return $this->belongsToMany(Student::class, 'teacher_likes', 'teacher_id', 'liked_student_id');
}
@foreach (current_student()->matchedTeachers as $teacher)
<div class="flex flex-col border hover:shadow-lg border-darkindigo-100 rounded-lg">
<div class="flex-1 px-3">
<img src="{{ $teacher->avatar }}" class="block lg:w-20 lg:h-20 rounded-full shadow-xl mx-auto -mt-0 h-20 w-20 bg-cover bg-center object-cover mb-4 mt-4">
<img src="{{ $teacher->teacher_avatar }}" class="block lg:w-10 lg:h-10 rounded-full border-2 border-teal-400 shadow-xl mx-auto -mt-12 ml-32 h-20 w-20 bg-cover bg-center object-cover mb-4 border:z-10">
<div class="text-sm lg:text-lg font-lato font-bold text-gray-800 capitalize text-center leading-8">{{ $teacher->name }}</div>
<div class="text-sm lg:text-sm font-lato font-bold text-gray-700 capitalize text-center">{{ $teacher->language }}</div>
</div>
</div>
@endforeach
解决方案
推荐阅读
- python-2.7 - 运行 gcloud 时出错,直到昨天都运行良好
- java - Java 泛型,返回 T 的方法
无法返回字符串 - java - 无法对“文档”执行“评估”,错误的 xpath 表达式
- javascript - 事件委托和循环遍历 if 语句中的元素
- wordpress - WordPress评论表单自动完成关闭
- node.js - Discord Bot 在使用 args 运行命令后意外返回“无效命令”错误消息
- asp.net-core - 由于 dotnet ef dbcontext --json 失败,无法在 Visual Studio 2019 中列出实体框架迁移
- sql - 将 STRING_AGG 转换为 FOR XML PATH
- java - 如何将 bean 加载到测试上下文中?
- javascript - Javascript 中的画布仅在没有其他 html 代码时才有效