Laravel关系专栏' id'在where子句中含糊不清

时间:2017-03-02 19:13:16

标签: laravel-5 relationship

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

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

但这失败了,专栏' id'在where子句中含糊不清。有关这方面的任何提示吗?

谢谢!

1 个答案:

答案 0 :(得分:5)

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

但是,您可以通过进行以下更改来运行它。

替换返回$ q->其中('id','1'); 返回$ q->其中('subscriptiontypes.id','1') ; 我假设subscriptiontype模型的表名是subscriptiontypes。

完整代码如下所示:

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