問題タブ [laravel-resource]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
3 に答える
4002 参照

laravel - laravel を使用した 1 回の呼び出しで複数の API リソース

私は laravel の API リソースを使用して、API 呼び出しのためにリソースを配列に変換していますが、正常に動作しています。1 回の呼び出しで複数のモデルのデータを取得できる可能性はありますか? Pages JSON と一緒にユーザーの JSON データを取得するには? または、これには別の呼び出しが必要です。

ここで私がこれまでに試したこと

どんな助けでも大歓迎です

0 投票する
0 に答える
262 参照

laravel - laravel api で json を使用して応答を返すと、コレクションのページネーション リンクが削除されます

私はWebサービスにlaravelを使用しています。私はこのようなコレクションを返したい:

return response()->json([data => $data]);

コレクションを変換するためにlaravel apiリソースを使用しています。これは私のリソースです:

次のようなリソースにコレクションを渡すと:

すべてがうまくいきます。$data を返すと、ページネーション リンクとメタが返され、問題はありません。

しかし、以下のように response()->json() でデータを返すと、「メタ」と「リンク」に関するすべてのデータが削除されます! 他のすべては問題ありません。

ページネーション データとリンクがデータから削除されるのはなぜですか? 私が逃したものはありますか?

0 投票する
0 に答える
313 参照

laravel - 指定されたフィールドを無視するLaravelリソース

特定の API 応答を操作しやすいものに変換しようとしています。

これは私がこれまでに持っているものです:

コントローラ:

FileCollection リソース:

ファイル リソース:

これは私が得ている結果です:

ご覧のとおり、リソースのタイプは正しいのですが、何らかの理由でFileCollection「メタ」が存在せず、 Fileリソースのフィールドも存在しません。(FileResource で要求された 8 ではなく) 30+ のように、すべてのフィールドが引き続き表示されます。

ここで何か不足していますか?


編集:

toArray() メソッド ( $collection->toArray(null)) を使用してコレクションにアクセスすると、実際に適切な結果が得られます。

では、このコレクションが FileResources の toArray() を使用していることを確認するにはどうすればよいでしょうか? (私はまだ 8 つではなく 30 を超えるフィールドを取得しています)。

PS: toArray() を呼び出す必要がある理由がよくわかりません。ドキュメントのどこにも書かれていません: https://laravel.com/docs/5.8/eloquent-resources