首页 > 解决方案 > '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');

标签: phpmysqllaravel

解决方案


将外键和本地键放在关系中。

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
}

推荐阅读