php - 'where 子句中的未知列“有”
问题描述
我正在使用 laravel 5.7
当我whereHas
用来检查关系的存在时,我面临Unknown column "has" in 'where clause
错误!为什么?
这是我的代码:
$query->whereHas('departures', function ( $query) {
$query->whereBetween('depart_date', [date($this->data['departFrom_date']), date($this->data['departTo_date'])]);
});
这是我的模型部分:
public function departures()
{
return $this->hasMany(CruiseSailingDepartures::class);
}
更新:
查询开始于:
$query = DB::table('table_name');
解决方案
将外键和本地键放在关系中。
public function departures()
{
return $this->hasMany('App\Model\CruiseSailingDepartures','foreign_key','local_key');
}
$res = BaseModel::find($id);
foreach($res->departures as $departures)
{
echo $departures->name; //whatever field you have in CruiseSailingDepartures table
}
推荐阅读
- tensorflow - 如何使用使用自定义操作的模型从源代码构建张量流,这些操作是现有操作的重命名版本?
- r - 基于 R 中的列值(或日期)的滚动回归
- javascript - 是否有允许在后台窗口中使用 RequestAnimationFrame 的浏览器(用于测试目的,macOS)
- oracle - 将记录类型作为参数传递有什么问题
- c# - Doxygen 不适用于 C# 中的二维数组
- ios - iOS 二进制未加密测试飞行构建
- azure - 如何在 Azure Synapse 中创建通用数据流
- javascript - 借助 RegEx 在 JavaScript 中获取不带格式标记的字符串
- python-3.x - 从 OpenCV 中的 DMatch 列表中获取位置和旋转信息?
- solidity - IUniswapV2Router02.swapExactTokensForTokens 在智能合约中失败