php - Laravel 关系使用 Where
问题描述
这段关系在我Maintenance.php
public function contactedContractor()
{
return $this->hasMany(ContactedContractor::class, 'maintenance_id');
}
我想在我的控制器的查询中使用关系
$contractor_maintenances = Maintenance::whereHas('contactedContractor', function ($query) {
return $query->where('contacted_contractors.user_id', '=', 8);
})
->where('contacted_contractors.user_id', $contractor_user_id)
->latest('maintenances.created_at')
->get();
但是 where 子句不起作用给我这个错误
Unknown column 'contacted_contractors.user_id' in 'where clause
如何使用 where 子句?
解决方案
您已通过查询。Maintenance
没有user_id
->where('contacted_contractors.user_id', $contractor_user_id)
如下传递您的查询。
$contractor_maintenances = Maintenance::whereHas('contactedContractor', function ($query) use ($contractor_user_id) {
return $query->where('user_id', $contractor_user_id);
})->latest('maintenances.created_at')->get();
推荐阅读
- mysql - 结合 MySQL 查询,其中一个是排除查询
- python - 带有按钮控制的 Wxpython 日志消息窗口
- sql - SQL服务器无效的对象名称'TableName'SSMS,系统中的表
- python - 将时间列(对象类型)转换为日期时间格式
- mysql - SQLlite 内部连接查询给出荒谬的结果
- reactive-programming - Webflux:重复次数用尽后的 OnErrorResume 未被触发
- vue.js - 无法从组件获取参数到目标路由
- html - 比较具有相同数据但标记不同的两个 HTML 页面的最佳方法是什么
- javascript - 如果 API 结果发生变化,打印更新的信息
- python - 如何通过递归避免 numba 错误?