2016-05-10 8 views
1

現在、APIをビルドしています。ルーメンとフラクタルの使用フラクタルのクールなことの1つは、?foo = bar、mar、parのようなクエリ文字列を使ってインクルードする機能です。変数を使用したクエリの読み込み

しかし今はクエリを作成するときにEloquentsを利用したいと思っています。だから、理想的に上記の例を使用している場合、このクエリは次のようになります。

->with(['bar','mar','par']) 

しかし、私はそのクエリの構築に私のクエリ文字列から取得する方法を超える手探り。 明らかに、渡されているものが合法であることを確認するためにバリデーターを渡しているので、誰かが 'par123'を渡すと失敗するでしょう。

と私は、次を渡しカント:

$example = 'bar','mar','par'; 
->with([$example]); 

て手動で各パラメータが渡されたチェックして、すべてのシナリオのためのユニークなクエリを作成して、そのクエリを構築する方法上の任意の考え...

+0

をeagerloadedするためにあなたの様々なモデルのための文字列の配列にこの文字列を分割する必要が'リーグ/あなたのためのフラクタル "熱心なローディング –

+0

そのパッケージがそのことをどのようにしているか見ていない... – Citti

答えて

0

免責事項:フラクタルは一度も使用していませんが、このソリューションはLumenと連携します。

$params = $request->input('foo'); // will give you 'bar,mar,par' 

は今、あなたはそれが自動的に処理しますと、私はディンゴ/ api` `を見てお勧め

$paramArray = explode(',', $params); // ['bar', 'mar', 'par'] 

$results = Model::find('foo')->with($paramArray)->get(); 
+0

hmmはこれを試して、うまくいきませんでした...私は再訪させてください。 – Citti

+0

@Cittiエラーメッセージを表示できますか? – Feek

+0

私は関係を表す正確な方法を通過していませんでした。私は共通の変数xyzを使っていました。正確でなければならない。今それは動作します!ありがとう。 – Citti

関連する問題