2016-08-04 6 views
1

belongsToMany()を使用して、ユーザーモデルで自己参照関係をモデル化しました。ユーザーはお互いに代理店または売り手になることができますので、確定しましたseller()agents()Laravelでリレーションを取得した後のクエリビルダオブジェクトの取得

今ではhttps://github.com/Nayjest/Gridsにはグリッドへのクエリが必要です。

グリッドでは、たとえば、売り手のエージェントを表示する必要があります。

現在、私たちは手作りのクエリを使用していますが、モデルからロジックを引き出したいと考えています。

だから我々は必要なもの

$seller = Auth::user(); // or any other instance of User 
$seller->agents 

をフェッチするとき私たちは運なし

$query = $seller->newQuery()->where('laravel_reserved_1.id', '=', $seller->id); 
return $user->agents()->getRelationQuery($query, $query); 

を試しに実行される(クエリビルダオブジェクトとして)クエリです。

EDIT

しようとすると$ seller->エージェント() - > getQuery()我々は

SQLSTATE[23000]: Integrity constraint violation: 1052 Column 'id' in order clause is ambiguous 
(SQL: select * from `users` inner join `user_connections` on 
`users`.`id` = `user_connections`.`user_id` 
where `user_connections`.`related_user_id` = 2 and   
`user_connections`.`type` = agent order by `id` asc 
limit 15 offset 0) 
+0

変数 '$ seller'とは何ですか? – TheFallen

+0

@ TheFallen Aユーザインスタンス – Alex

+0

'$ user-> agents() - > getQuery()'だけではありませんか? – alepeino

答えて

0

を得る "それは私たちが列を持っていただけ

$user->agents()->getQuery() 

で判明グリッド内の「id」を使用して、あとであいまいなクエリにつながりました。

関連する問題