2017-03-02 8 views
0

私はコースとサブスクリプションの種類があります。 特定のサブスクリプションタイプを持つすべてのコースを取得したいと思います。 私の試み:Laravel relationship where句の 'id'列が曖昧です

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

しかし、これは失敗し、句があいまいなところでコラム 'ID'。これを行う上のヒント?

ありがとうございます!

答えて

3

コードをテストしましたが、変更を加えずに正常に動作していました。何かがあなたの関係定義に間違っているかもしれません。

ただし、次のように変更して実行することができます。

を置き換えます。$ q-> where( 'id'、 '1');return $ q->ここで( 'subscriptiontypes.id'、 '1');サブスクリプション・タイプ・モデルの表名はサブスクリプション・タイプであると仮定しました。

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

完全なコードを以下に示します。