laravel 5.2を使用すると、私はWebベースでありAPIを提供するアプリケーションを持っています。 API要求はトークンガードを使用して認証され、Web要求はセッションガードを使用して認証されます。日付を変更して、API呼び出しのUnixタイムスタンプとWeb呼び出しのデフォルトの日付文字列(Y-m-d)として返すようにしたいと考えています。私が思いつくことができる最高ののは、API呼び出しのための別個のモデルを持っていることですが、これが多形性関係の問題につながることをすぐに発見しました。誰もこれを達成する方法についての提案を持っていますか?laravel api呼び出し専用の日付変更
0
A
答えて
0
JSONのシリアライズを使用して、希望のフォーマットの日付を提供する新しいプロパティを追加できます。
https://laravel.com/docs/master/eloquent-serialization#appending-values-to-json
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class MyModel extends Model
{
protected $appends = ['my_date'];
/**
* Format date for API calls.
*
* @return string
*/
public function getMyDateAttribute()
{
return $this->attributes['created_at'] == // format Carbon date here.
}
}
あなたはAPI呼び出しによって返されたJSONで新しいmy_date
性質を持っています。
0
モデルに関数をドロップして、その属性をどのようにフォーマットするかを指定できます。
public function formatDateForView()
{
return date('Y-m-d', $this->attributes['your_timestamp_field']);
}
あなたの意見では、必要に応じて電話するだけです。
{{ $yourModel->formatDateForView(); }}
+0
私はあなたが何を意味しているのか見ています。それは、Web側だけに変異を起こす方法を提供するので、私が後にしているものとは逆です。理想的には、私はデータベースのデフォルトの形式を維持し、API呼び出しのためにのみ変更できるようにしたいと考えています。 – dsuelzle
関連する問題
- 1. Playフレームワークを使用した日付のコントローラメソッドの呼び出し
- 2. LaravelジョブとサードパーティのAPI呼び出しを呼び出すときのイベント
- 3. 日付パラメータをREST API呼び出しに渡す - Rを使用する
- 4. initとparamsでのapi呼び出しの変更
- 5. React API呼び出しは状態を変更しません。
- 6. APIを呼び出す方法設定されたテキストの日付が変更された後
- 7. コントローラで変数を使用したLaravel呼び出しモデル
- 8. Vertxを使用したREST APIの呼び出し/呼び出し/使用
- 9. コンソールビデオモードを変更するWindows API呼び出し?
- 10. REST APIで呼び出しを変更する方法
- 11. API呼び出しのandroid.os.NetworkOnMainThreadException
- 12. API呼び出しのRedis
- 13. RailsのAPI呼び出し
- 14. ページ上両方のドロップダウンのイベントの呼び出し呼び出しの変更
- 15. MPS Typesystemデータベースの照会/ API呼び出しの呼び出し
- 16. DLLへの呼び出しからAPIへの呼び出し
- 17. 日付形式のPHP/laravelの日を変更する方法
- 18. AWS Lambda-API Gatewayと直接呼び出しの呼び出し
- 19. Android SMSの日付機能の呼び出し
- 20. getJSON、呼び出し前にAPIコールのurl変数を変更する
- 21. 各api呼び出しの前に自動的にapi呼び出しを呼び出す方法
- 22. サーバーAPI呼び出しのGoogle APIクライアントトークン
- 23. イオンAPI呼び出しは以下
- 24. 別のAPI呼び出し内でAPI呼び出しを行いますか?
- 25. giphy API呼び出し
- 26. Test WebClient API呼び出し
- 27. 改造API呼び出し
- 28. riot API呼び出しNode.js
- 29. ReactjsテストAPI呼び出し
- 30. Artifactory API呼び出し
これは問題のための最良の解決策だと思います。なぜなら、返されたJSONに2つの異なる形式を返すというトレードオフを使って、データベースでデフォルトの日付形式を維持できるからです。それが問題であれば、$ hidden配列に不必要な日付を追加することが解決されるかもしれません。また、これを読んだ人は、$ appends配列をモデルに追加することを忘れないでください。上記の例では、 'protected $ appends = [' my_date '];'うまくいくはずです。 – dsuelzle
ああ、 '$ appends' - 忘れました。私の答えを更新しました。 – swatkins