2016-09-15 14 views
0

laravel 5.2で、agencies.organization_id = organizations.idを使用して、組織テーブルを持つ外部キーを持つ代理店テーブルを取得するクエリを作成します。今Usersテーブルには、users.organization_id = organizations.idを使用する組織テーブルを持つ外部キーもあります。今どの代理店がusers_idとリンクしているかという代理店のテーブルを取得する方法。laravelの文字列へのコレクション5.2クエリービルダー

public function postagency(Request $request) { 
     $user_id = $request->user_id; 
     $org_id = User::where('id', $user_id)->pluck('organization_id')->first(); 
     $postagencies = agency::where('organization_id', $org_id); 
     echo $postagencies; 
    } 

答えて

1

私が理解していることは、ユーザーは1つの組織の下にしか置かれず、組織には多くの代理店があることです。もしそうでないなら、私の答えを変えてください。

まず、モデル内の関係を設定します。たとえば、

// User.php 

public function organization() 
{ 

    return $this->belongsTo('App\Organization'); // App\Organization can be changed depending on the used namespace 

} 

さらに詳しい情報はhereです。いくつかの例が必要な場合は、ただ聞いてください。あなたはこれらの関係を作成した後

あなたは、このように代理店を検索することができます。

$user= User::find($request->user_id); 

if (!$user) ... // Check if user exists 

$agencies = $user->organisation->agencies; 

を私は聞いてより詳細に物事を説明する必要がある場合。これがほしいと思っています:)

+0

ありがとうございました.. hasmany()relatioshipをorganization.phpに追加しています... :) –

関連する問題