2016-04-25 16 views
4

私はuserのauth'dおよび/またはUSERSが割り当てられていないバケットに割り当てられたすべての「バケット」を取得する関数を作成しようとしています。Eloquent - ピボットユーザーがいる場所またはどこにもありません

関係と彼らが必要など、作業。私が何かを逃していない限り?

どのようにしてすべてのバケットをユーザーに割り当てることができますか?また、ユーザー(認証ユーザーを含む)が割り当てられていないバケットも含めることができます。

  1. バケツユーザーNOユーザーが割り当てられている
  2. バケツに割り当てられています。すなわち、ピボットテーブルは、私の問題は非常に可能性の高いorWhereクエリから茎

など、バケットの行が含まれていません...

$buckets = Team::currentTeam()->buckets()->with('user')->whereHas('user', function($query) { 
    $query->where('user_id', Auth::user()->id) 
    ->orWhere('user_id', function() { 
     $query->count(); 
    }, '<', 0); 
})->get(); 
+0

あなたは$ query-> count()をどのように使用していますか? – oseintow

+0

笑それを間違って使用しています。私の「計画」は、バケットに割り当てられたユーザーの数を試してみることでした。ユーザーがいない場合(別名0の場合)、オブジェクトにも含めます。 –

答えて

4

はこれをテストしていませんでしたが、私は、これは動作するはずだと思います。そのorWhereクエリを削除し、orHas('user', '=', 0)を追加しようとしています。

$buckets = Team::currentTeam()->buckets()->with('user')->whereHas('user', function($query) { 
    $query->where('user_id', Auth::user()->id); 
})->orHas('user', '=', 0)->get(); 
+0

チャチン!ありがとうございました...まさに私が探していたものです。 :) –

関連する問題