2016-06-24 12 views
0

私は基本的には私のアプリケーションで関係を持って、laravel多対多の関係は、非関連データを返す

多くの組織では、多くのユーザーを持つことができ、多くのユーザーが多くの組織を持つことができます。

だから、多対多の関係、組織モデルの関係は、次のようになります

public function users() { 
     return $this->belongsToMany('User') 
        ->where('admin', '>', 0) 
        ->orWhere('basic', '>', 0) 
        ->withPivot([ 
         'start_date'  => 'start_date as start_date', 
         'admin'   => 'admin as admin', 
         'manager'   => 'manager as manager', 
         'finance'   => 'finance as finance', 
         'basic'   => 'basic as basic', 
         'notifications' => 'notifications as notify' 
        ]) 
        ->withTimestamps(); 
    } 

や組織への私のユーザモデルの関係は次のようになり、

public function organisations() 
{ 
    return $this->belongsToMany('Organisation'); 
} 

私はしかし、この関係に大きな問題を抱えている私は、プロジェクトにアクセスすると(プロジェクトには1人の組織があり、多くのユーザーがいる)、プロジェクトの組織のユーザーだけでなく、 t。

これはなぜでしょうか?私はそれが私の組織モデルのUsers()関数のwhere節と関係していると思いますか?

+0

ではありませんなぜそんなに「多くの組織のような関係を持つことができます多くのユーザー、多くのユーザーは多くの組織に属しています。モデルは 'public function users(){return $ this-> hasMany( '\ App \ User')...'と 'public function organizations()を持ちます。 { return $ this-> belongsToMany( 'App \組織'); } ' – linuxartisan

答えて

0

このコードをすべて使用する理由はわかりません。私はちょうどそれを簡単に、言う:

組織クラス

public function users() { 
    return $this->belongsToMany('App\User'); 
} 



Userクラス

public function organisations() { 
    return $this->hasMany('App\Organisation'); 
}