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. initとparamsでのapi呼び出しの変更
- 3. Vertxを使用したREST APIの呼び出し/呼び出し/使用
- 4. コンソールビデオモードを変更するWindows API呼び出し?
- 5. REST APIで呼び出しを変更する方法
- 6. 日付形式のPHP/laravelの日を変更する方法
- 7. RailsのAPI呼び出し
- 8. API呼び出しのRedis
- 9. DLLへの呼び出しからAPIへの呼び出し
- 10. MPS Typesystemデータベースの照会/ API呼び出しの呼び出し
- 11. ページ上両方のドロップダウンのイベントの呼び出し呼び出しの変更
- 12. getJSON、呼び出し前にAPIコールのurl変数を変更する
- 13. Android SMSの日付機能の呼び出し
- 14. イオンAPI呼び出しは以下
- 15. 各api呼び出しの前に自動的にapi呼び出しを呼び出す方法
- 16. サーバーAPI呼び出しのGoogle APIクライアントトークン
- 17. ReactjsテストAPI呼び出し
- 18. riot API呼び出しNode.js
- 19. Test WebClient API呼び出し
- 20. twitter apiで変数を呼び出す
- 21. laravel 5のMSSQLストアドプロシージャの名前付きパラメータを呼び出す
- 22. Laravel 5.3でPHPUnitを使用したクラスメソッド呼び出しのスタブリング
- 23. Laravel Eloquent ORM - メソッド呼び出し時エラー
- 24. jQueryを使用して別のAPI呼び出し内でAPIを呼び出す
- 25. フィールドを使用してAPI呼び出し(Dark Sky Forecast API)
- 26. Shiny - observeEvent内のAPI呼び出し後のUIの更新
- 27. RxSwiftを使用した非同期API呼び出し後のビューの更新
- 28. APIで日付変数を使用
- 29. api呼び出しの$ scope変数が時々更新されない
- 30. Laravel:モデル中の炭素日付の変更フォーマット現在、JSON
これは問題のための最良の解決策だと思います。なぜなら、返されたJSONに2つの異なる形式を返すというトレードオフを使って、データベースでデフォルトの日付形式を維持できるからです。それが問題であれば、$ hidden配列に不必要な日付を追加することが解決されるかもしれません。また、これを読んだ人は、$ appends配列をモデルに追加することを忘れないでください。上記の例では、 'protected $ appends = [' my_date '];'うまくいくはずです。 – dsuelzle
ああ、 '$ appends' - 忘れました。私の答えを更新しました。 – swatkins