問題タブ [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.
laravel - laravel を使用した 1 回の呼び出しで複数の API リソース
私は laravel の API リソースを使用して、API 呼び出しのためにリソースを配列に変換していますが、正常に動作しています。1 回の呼び出しで複数のモデルのデータを取得できる可能性はありますか? Pages JSON と一緒にユーザーの JSON データを取得するには? または、これには別の呼び出しが必要です。
ここで私がこれまでに試したこと
どんな助けでも大歓迎です
laravel - laravel api で json を使用して応答を返すと、コレクションのページネーション リンクが削除されます
私はWebサービスにlaravelを使用しています。私はこのようなコレクションを返したい:
return response()->json([data => $data]);
コレクションを変換するためにlaravel apiリソースを使用しています。これは私のリソースです:
次のようなリソースにコレクションを渡すと:
すべてがうまくいきます。$data を返すと、ページネーション リンクとメタが返され、問題はありません。
しかし、以下のように response()->json() でデータを返すと、「メタ」と「リンク」に関するすべてのデータが削除されます! 他のすべては問題ありません。
ページネーション データとリンクがデータから削除されるのはなぜですか? 私が逃したものはありますか?
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。