前提・実現したいこと
LaravelのブレードからVueのコンポーネントに大きい数値を渡すと値が勝手に丸められるので、それを解消したい。
【質問内容】
Laravel + Vue.jsでWebサービスを作っています。
Twitter APIを使って、Twitter IDを取得し、それをデータベースに保存して、色々処理を書いているのですが、LaravelのコントローラーでIDを取得、Bladeへデータを返却、Vueのコンポーネントへ値を渡すとIDの値が丸められてしまいます。
発生している問題・エラーメッセージ
エラーが出ているわけでは無いですが、16桁を超えると値が丸められるようです。
例: ID:770983194769760257 →ID:770983194769760300になる。 ID:1128913499994779648 →ID:1128913499994779600になる・
該当のソースコード
Laravel
1//コントローラー側の処理 2public function index(){ 3 4 // アカウント取得 5 $accounts = TwitterAccount::where('user_id',Auth::id())->get(); 6 7 return view('mypage',['accounts' => $accounts]); 8}
Laravel
1//Blade(該当箇所のみ) 2<!-- メイン部分--> 3@section('content') 4 <mypage-component 5 :accounts="{{ $accounts }}" 6 > 7 </mypage-component> 8@endsection
Vue
1//一部省略 2<template> 3 <div>{{accounts}}</div> 4</template> 5 6<script> 7 export default { 8 props:['accounts'], 9 data: function() { 10 return { 11 accountList: this.accounts, 12 } 13 } 14 } 15</script>
試したこと
Blade内で、{{ $accounts }}の値を確認すると、丸められていないことは確認済です。
Vueに渡って、値を表示するとなぜかIDが丸められてしまいます。
補足情報(FW/ツールのバージョンなど)
Laravel:5.8
Vue:2.5.17
データベースのTwitter IDカラムはBigIncrementsで作成しています。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/02/27 14:07