4

我有课程和订阅类型。我想获取所有具有给定订阅类型的课程。我的尝试:

$courses=Course::wherehas('subscriptionType',function ($q)
        {
            return $q->where('id','1');
        })->get();

但这失败了:

where 子句中的列“id”不明确

有什么建议吗?

4

1 回答 1

12

我测试了你的代码,它工作正常,没有任何改变。您的关系定义可能有问题。

但是,您可以通过进行以下更改使其运行。

替换return $q->where('id','1'); with return $q->where('subscriptiontypes.id','1'); 我假设订阅类型模型的表名是订阅类型。

完整代码如下所示:

$courses=Course::wherehas('subscriptiontype',function ($q)
        {
            return $q->where('subscriptiontypes.id','1');
        })->get();
于 2017-03-03T07:07:15.693 回答