JSONファイルでバックエンドからフロントエンドにデータを渡したいが、キーと値として関連付けを返す代わりに、テーブルから余分なフィールドを返す。JSONファイルが追加フィールド付きの連想配列を返す
余分なフィールドを非表示にすることができますか?
namespace App\Http\Controllers;
use App\Notification;
use App\Status;
use Illuminate\Http\Request;
class ChartController extends Controller
{
public function speedHistory($notification_id){
$o_notification = Notification::find(intval($notification_id));
$o_status = Status::where('name','speed')->first();
$o_response = $o_notification->statuses()->where('status_id', $o_status->id)
->select('values AS value', 'created_at AS timestamp')->orderBy('created_at','DESC')->get();
if($o_response){
return response()->json($o_response->toArray());
}else{
// return an empty json array instead of false
//return false;
return response()->json(array());
}
}
}
このような復帰は、私はこの場合72とタイムスタンプの値を得ることを期待していました。あなただけが必要な鍵を取得するためにonly functionを使用できるように
[{"value":"72","pivot":{"notification_id":1,"status_id":2,"values":"72","created_at":"2017-01-10 12:48:29","updated_at":"2017-01-10 12:48:29"}}]
私はコレクションの代わりにアソシエイティブな配列を私に返してくれるのかと尋ねるでしょう。これは私が得るものです。 [{"value": "72"、 "created_at": "2017-01-10 12:48:29"}] –
コレクションのコレクションを返すはずです(配列をコレクションに変換しました) ( 'collect([values])'を参照してください)、コレクションの便利なヘルパーを利用することができます。あなたが投稿した結果は、見つかったすべての値の配列に過ぎません。 - > idを通知に追加すると、結果が配列に追加されます。 – devk