【发布时间】:2017-03-15 17:18:17
【问题描述】:
所以我在 Laravel 关系方面遇到了一点问题。
我有一个用于潜在客户转化的 模型,它与 details 模型具有 hasOne 关系,details 模型包含一个 我需要使用的 hashkey 字段。
public function details()
{
return $this->hasOne('App\Models\CampaignDetails', 'n_idcampaign', 'n_idcampaign')->select(['n_idcampaign', 'hashkey']);
}
到目前为止一切顺利,我真的只需要 hashkey 但我需要返回 idcampaign 以及外键,否则由于某种原因它无法工作......
当我查询模型时,我会执行以下操作。
return $this->model->with('details')->where('n_idcampaign', 1884)->first();
到目前为止,一切都很好,它返回了整个东西,像first()->details->hashkey 这样访问它很痛苦,但至少它可以工作......
当我需要根据 Hashkey 进行 where 查询时,就会出现更大的问题...
return $this->model->with('details')->where('idData', $id)->where('hashkey', $haskkey)->first();
这不起作用,我怎样才能做到这一点,以便我可以根据关系中的字段查询主模型(在本例中为 hashkey)
【问题讨论】:
-
也许试试 wherePivot() 而不是 where? laravel.com/docs/5.3/eloquent-relationships
-
@wouthoekstra
wherePivot用于belongsToMany关系。
标签: php laravel eloquent laravel-query-builder